Mybatis学习记录(八)----Mybatis整合Spring
2016-03-18 14:55
441 查看
1、整合思路
需要spring通过单例方式管理SqlSessionFactory。 spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成) 持久层的mapper都需要由spring进行管理。2、整合环境
创建一个新的java工程 jar包: mybatis3.3.0的jar包 Spring4.1.2的jar包 mybatis和spring的整合包:早期ibatis和spring整合是由spring官方提供,mybatis和spring整合由mybatis提供。 Mybatis-spring-1.2.4.jar![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145429553-2089882041.png)
3、sqlSessionFactory
在applicationContext.xml配置sqlSessionFactory和数据源 sqlSessionFactory在mybatis和spring的整合包下。![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145430553-2081705602.png)
4、原始dao开发(和spring整合后)
4.1 User.xml
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145432209-1681359786.png)
在SqlMapconfig.xml中加载User.xml
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145433084-2128533669.jpg)
4.2 dao(实现类继承SqlSessionDaoSupport)
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145433787-1873030444.jpg)
dao接口实现类需要注入SqlSessoinFactory,通过spring进行注入。 这里spring声明配置方式,配置dao的bean: 让UserDaoImpl实现类继承SqlSessionDaoSupport
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145434381-1595099342.jpg)
4.3 配置dao
在applicationContext.xml中配置dao。![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145435146-1698855374.png)
4.4 测试程序
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145435803-705348406.jpg)
5、mapper代理开发
5.1 mapper.xml和mapper.java
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145436334-947862643.png)
5.2 通过MapperFactoryBean创建代理对象
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145437178-1367290433.png)
此方法问题: 需要针对每个mapper进行配置,麻烦。
5.3 通过MapperScannerConfigurer进行mapper扫描(建议使用)
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145438287-1876203839.png)
由于配置了自动扫描,因此不需要再在SqlMapConfig中配置Mapper的扫描。
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145439178-701771788.png)
5.4 测试代码
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145439818-1030366430.jpg)
5.5 测试结果
![](http://images2015.cnblogs.com/blog/649729/201603/649729-20160318145440803-1436571486.png)
相关文章推荐
- spring mvc 透传
- java排序
- springmvc学习笔记之一
- java(DOM、SAX、JDOM、DOM4J)xml方式详解与比较
- java实现玩牌
- (转)google Java编程风格中文版
- Spring框架的基本概念
- Java Swing 弹出退出提示框(代码示例)
- java实现文件的复制
- java垃圾回收
- java实现落托数卡牌戏;
- 浅析Java中的final关键字
- java 多线程 一个博客
- Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
- Java语言制作界面
- spring管理bean
- Java中HashMap遍历的两种方式
- 安卓Eclipse环境搭建
- ubuntu64位下安装的eclipse 出现双击代码闪退
- java后台程序的应用配置管理