mybatis和mybatis整合的思路:
一、传统的方式开发dao
编写dao接口
编写dao接口实现类继承SqlSessionSupport类
数据源交给spring管理
SqlSessionFactory(SqlSessionFactoryBean)由spring创建
dao由spring管理->向dao注入SqlSessionFactory
二、接口代理的方式(接口代理的方式也有两种)
接口代理配置的方式一:
1、数据源交给spring管理
![](https://img.haomeiwen.com/i4227665/f4eec6b474e0254d.png)
2、SqlSessionFactory交给spring管理
![](https://img.haomeiwen.com/i4227665/567ce22d5cbe022d.png)
3、SqlSession和mapper交给spring管理
![](https://img.haomeiwen.com/i4227665/94308d31faa40064.png)
咱们先来看一下MapperFactoryBean类的代码片段
![](https://img.haomeiwen.com/i4227665/cb6f7205535c956b.png)
从源码可以看到MapperFactory继承了SqlSessionDaoSupport类,所以要向其注入sqlSessionFactory属性
MapperFactory还有一个属性mapperInterface,这个属性代表mapper接口
3、测试
首先加载spring的上下文
![](https://img.haomeiwen.com/i4227665/a1a01397ae5f143c.png)
查询数据
![](https://img.haomeiwen.com/i4227665/1602599a3da5c0f3.png)
2、接口代理的方式二
spring还为我们提供一种更简洁的配置方式(mapper包扫描)
![](https://img.haomeiwen.com/i4227665/17b3a7f524f0266f.png)
这种配置方式显得更加简洁
网友评论