mybatis-Spring官方文档
http://mybatis.org/spring/zh/sqlsession.html#SqlSessionTemplate
总结:整合MyBaits就是将我们原来MyBatis的配置文件整合到Spring的配置文件中去。
在MyBatis中,测试的时候加载配置文件,创建一个工厂模式,获取到它的sqlSession。这些都会被Spring的一些配置文件搞定。
将mybatis的对象由spring以bean的方式管理
形成了一一对应关系,方便在service层直接注入使用。
步骤:
1:导入相关的jar包:
Junit
myBatis;
mysql数据库
Spring相关的
Aop织入
myBatis-Spring【new】
2:编写配置文件;
3:测试
回忆MyBatis
1:编写实体类
@Data
public class User {
private int id;
private String name;
private String pwd;
}
2: 编写MyBatis的核心配置文件
3:编写接口
public interface UserMapper {
List selectUser();
}
4:编写Mapper.xml
5: 测试
@Test
public void selectUser() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);//开启自动提交事务管理
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List userList = mapper.selectUser();
for (User user : userList) {
System.out.println(user);
}
}
Spring整合MyBatis
Spring–dao.xml
1:编写数据源配置
2:sqlSessionFactory
3: sqlSessionTemplate
4: 需要给接口加实现类
public class UserMapperImpl implements UserMapper{
//我们所有的操作,在原来都是用SqlSession 来执行,现在都用SqlSessionTemplate来执行
private SqlSessionTemplate sqlSession;
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
@Override
public List selectUser() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.selectUser();
}
}
5: 将自己写的实现类,注入到Spring中
然后注册到Bean当中;
6: 测试使用即可;OK
官方文档还编写了另外一种实现方式:
1:实现类:继承SqlSessionDaoSupport
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{
@Override
public List selectUser() {
return getSqlSession().getMapper(UserMapper.class).selectUser();
}
}
配置文件
测试OK;
MyBatis则会那个和Spring原理分析
https://www.cnblogs.com/54chensongxia/p/11850709.html



