[Династия Фэй] Графический исходный код | Принцип сопоставления MyBatis

Java задняя часть
[Династия Фэй] Графический исходный код | Принцип сопоставления MyBatis

Когда дело доходит до чтения исходного кода, многие студенты боятся в душе. На самом деле это вполне нормально с точки зрения человеческой природы, потому что люди очень боятся неизвестного. Во-вторых, вы всегда можете чувствовать, что это не так. Работать еще может, а сильного желания в вашем подсознании нет.Из опыта чтения исходников, среди трех основных фреймворков Java, 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">
    <!--#{}在传入的对象中找对应的属性值-->
    <!--parameterType传入的参数是什么类型-->
    <insert id="add" parameterType="com.toby.mybatis.domain.User">
        INSERT INTO USER (username,password,age) VALUES (#{username},#{password},#{age})
    </insert>
</mapper>

выявлять темы

Но на практике мы не работаем так. Мы можем реализовать операции Crud, вызвав метод интерфейса через интерфейс Mapper, поэтому ключ заключается в том, что этот интерфейс делает то, о чем мы заботимся о.

Пока вы понимаете, что произошло в следующем коде, вы поймете, что делает этот интерфейс 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);
}

блок-схема

Но я думаю, что блок-схема и диаграмма последовательности могут увидеть, что произошло за этот период.

напиши в конце

Feichao — это технический публичный аккаунт, в котором основное внимание уделяется принципам, исходному коду и навыкам разработки, оригинальному тематическому анализу исходного кода в аккаунте и реальному сражению принципов исходного кода в реальных сценах (ключевые моменты).Отсканируйте QR-код нижеОбратите внимание на Фей Чао, пусть те, кто должен строить ракеты, перестанут трахаться!