MyBatis不整合Spring时,
SqlSessionFactoryBuilder会根据MyBatis配置文件,生成SqlSessionFactory的实例。
此时,MyBatis配置文件会配置数据源dataSource和Sql映射文件mappers,以及事务处理方式transactionManager,以及一些Setting和typeAlias之类的配置。
当然最重要的是数据源和Sql映射文件的配置。
根据这个配置会生成一个SqlSessionFactory实例,再通过openSession方法得到SqlSession实例。
SqlSession实例可以得到映射器类的实例,实例中的方法是和Sql映射文件进行对应的,这样调用这些方法就可以操作数据库。
MyBatis配置文件如下:
Sql映射文件如下:
insert into vincent_user(name,age) values(#{name},#{age})
映射器类如下:
package cn.dcr.mybatis.entity; public interface UserMapper { public void insertUser(User user); public User selectOne(long id); }
当MyBatis和Spring整合时,
会加入Spring配置文件,两者会有重复的部分,就是Spring和Mybatis都会对数据源以及事务处理方式进行设置,
此时,会忽略MyBatis的数据源和事务处理方式的设置。所以Spring中可以不用进行设置。
一会实现成功以后再来个详解吧。