spring+springmvc+mybatis整合
spring+springmvc+mybatis整合
整合思路:
1. spring通过单例模式管理sqlSessionFactory; [需要程序员操作]
2. spring和mybatis整合生成代理对象, 使用sqlSessionFactory创建sqlSession; [这一步由spring+mybatis整合自动完成]
3. 持久层的mapper都需要spring管理; [需要程序员操作]
一. 整合环境搭建
1. jar包:
2. 初期工程结构:
二. 编写
1. 配置sqlSessionFactory和数据源dataSource
在applicationContext.xml中配置sqlSessionFactory, 在spring和mybatis的整合包下, 文件头:
2. 原始DAO的开发方法和mybatis的Mapper代理开发方法
** 原始DAO的开发方法
1.1 mapper.xml (如 User.xml)
在src下新建文件夹sqlMap, 用于存放映射文件
在SqlMapConfig.xml中加载User.xml文件
1.2 dao
新建包及文件
这里使用spring的声明式配置dao的bean
1.3 在applicationContext.xml中配置dao
测试程序:
Mapper代理开发:
1. UserMapper.java
2. UserMapper.xml
applicationContext.xml
SqlMapConfig.xml
测试代码:
这个方法的缺点: 需要针对每一个mapper配置, 如果mapper很多就会很麻烦, 所以使用mapper接口的批量扫描