【肥朝】ソースコードを図解する|MyBatisのMapper原理

4002 ワード

ソースコードを见ると、多くの学生の心の中の恐怖といえば、実はこれは人间性の角度から言えばとても正常で、人々は未知の物事に対して、すべてとても恐れているため、次に、あなたの心の中はずっと感じて、原理も仕事ができるようで、あなたの潜在意识の中で强烈な欲望がありません.ソースコードを読んだ経験から言えば、Javaの3大フレームワークSSMの中で、Mybatisのソースコードは入門に最も適している.
単純な使用
簡単なMybatis保存オブジェクトの例です
@Test
public void testSave() throws Exception {
    //  sessionFactory  
    SqlSessionFactory sf = new SqlSessionFactoryBuilder().
            build(Resources.getResourceAsStream("mybatis-config.xml"));
    //  session  
    SqlSession session = sf.openSession();
    //      
    User user = new User();
    user.setUsername("toby");
    user.setPassword("123");
    user.setAge(23);
    //         
    session.insert("com.toby.mybatis.domain.UserMapper.add", user);
    //    ,       ,    sql           
    session.commit();
    //    
    session.close();
}
<mapper namespace="com.toby.mybatis.domain.UserMapper">
    
    
    <insert id="add" parameterType="com.toby.mybatis.domain.User">
        INSERT INTO USER (username,password,age) VALUES (#{username},#{password},#{age})
    insert>
mapper>

トピックを引き出す
しかし、実際には、私たちはこのように操作していません.私たちはMapperインタフェースを通じて、インタフェースの方法を呼び出して、CRUD操作を実現することができます.では、肝心なのは、このインタフェースが何をしたのか、私たちが関心を持っていることです.
次のコードで何が起こっているのかを明らかにすれば、このMapperインタフェースが何をしているのかがわかります.
public void testGetObject() throws Exception {
    SqlSession session = MybatisUtil.openSession();

    UserMapper mapper = session.getMapper(UserMapper.class);
    User user = mapper.get(5L);

    System.out.println(user);
    session.close();
}
public interface UserMapper {

    public void add(User user);
    public User get(Long id);
}

フローチャート
しかし、1枚のフローチャートとタイミングチャートでこの間の出来事がわかると思います.
最後に書く
肥朝は原理、ソースコード、開発技術に専念する技術公衆番号で、号内オリジナルテーマ式ソースコード解析、リアルシーンソースコード原理実戦(重点).スキャンした次のQRコードは肥朝に注目し、ロケットを作るべきだったあなたに、ネジを締めないようにします!