Когда дело доходит до чтения исходного кода, многие студенты боятся в душе. На самом деле это вполне нормально с точки зрения человеческой природы, потому что люди очень боятся неизвестного. Во-вторых, вы всегда можете чувствовать, что это не так. Работать еще может, а сильного желания в вашем подсознании нет.Из опыта чтения исходников, среди трех основных фреймворков 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-код нижеОбратите внимание на Фей Чао, пусть те, кто должен строить ракеты, перестанут трахаться!