MyBatis Source Code Reading, 做一个掌握底层技术的Java程序员!update@20201224
零散知识
SqlSessionFactoryBean
In base MyBatis, the SqlSessionFactory
is built using SqlSessionFactoryBuilder
. In MyBatis-Spring, SqlSessionFactoryBean
is used instead. read
代码片段
reader = Resources.getResourceAsReader("config/Configure.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
//openSession()需要后动提交, autocommit是false
SqlSession session = sqlSessionFactory.openSession();
IUser userMapper = session.getMapper(IUser.class);
System.out.println("Test insert start...");
User user = new User();
user.setId(0);
user.setName("Google");
userMapper.insertUser(user);
session.commit();
SqlSessionTemplate
为什么Mapper没有实现类
动态代理获取到实现类, IUser userMapper = session.getMapper(IUser.class);
类似这个UserService proxy = (UserService) Proxy.newProxyInstance(classLoader, interfaces, logHandler);