Spring精品教程资料:3.MyBatis与Spring的整合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据整合步骤实现Spring和MyBatis的整合 查询出全部供应商数据 直接注入SqlSessionTemplate实现
完成时间:20分钟
7/33
学员操作—根据名称查询供应商信息 练习 需求说明
在上一练习基础上增加按照供应商名称模糊查询供应商 信息的功能
要求:直接注入SqlSessionTemplate实现
MapperFactoryBean
MapperScannerConfigurer递归扫描基准包下所有接口,若它们 在SQL映射文件中定义过,则动态注册为MapperFactoryBean, 如此即可批量产生映射器实现类
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
分析 配置数据源 配置SqlSessionFactoryBean
使用SqlSessionTemplate实现数据库的操作
编写业务逻辑代码并测试
演示示例1:实现Spring对MyBatis的整合
6/33
学员操作—实现供应商表的查询操作 练习 需求说明
在超市订单系统中实现供应商表的查询操作
<property name="basePackage" value="cn.smbms.dao" />
</bean>
指定扫描的基准包
演示示例3:使用MapperScannerConfigurer注入映射器
11/33
小结
MapperScannerConfigurer 与@Autowired注解或@Resource注解配合 使用,自动创建映射器实现并注入给业务组件,能够最大限度地减 少DAO组件与业务组件的编码和配置工作
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired // 或 @Resource
private UserMapper userMapper;
//……代码省略
}
<!-- 省略数据源、 SqlSessionFactoryBean的相关配置 -->
MapperFactoryBean
根据指定Mapper接口生成Bean实例
MapperScannerConfigurer
根据指定包批量扫描Mapper接口并生成实例
4/33
实现Spring和MyBatis整合5-2 Spring和MyBatis的整合步骤
建立Web工程,加入Spring和MyBatis的有关JAR 建立开发目录结构,创建实体类
指定映射器,只能是接口类型
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="erMapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</映bea射n>器对应的SQL映射文件与映射 ! 器的类路径相同,该映射文件可以
注入SqlSessionFactory以提供 SqlSessionTemplate实例
自动被MapperFactoryBean解析
MyBatis与Spring的整合
本章任务 搭建Spring+MyBatis的集成环境 实现用户信息的查询和添加功能 实现供应商信息的增删改查功能 实现订单信息查询功能
2/33
本章目标 掌握Spring与MyBatis的集成 掌握使用SqlSessionTemplate实现整合 掌握使用MapperFactoryBean实现整合 掌握Spring的事务切面实现声明式事务处理 掌握使用注解实现声明式事务处理
演示示例2:使用MapperFactor y B ea n 注入 映射器
10/33
实现Spring和MyBatis整合5-5
若映射器很多的话,相应的配置项也会很多,如何简化配置工作量?
问题
MapperScannerConfigurer
分析
自动扫描指定包下的Mapper接口,并将它们直接注册为
<context:component-scan base-package="cn.smbms.service" />
12/33
学员操作—实现订单表的查询操作
练习 需求说明
在超市订单系统中实现按条件查询订单表,查询条件如下
3/33
实现Spring和MyBatis整合5-1
要在Spring中使用MyBatis,需要在Spring的配置文件 中定义一些类
SqlSessionFactoryBean
为整合应用提供SqlSession对象资源
SqlSessionTemplate
负责管理MyBatis的SqlSession,调用SQL映射语句,实现对 数据库的访问
<!-- 配置DAO -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.smbms.dao" />
</bean>
<!-- 配置扫描注解定义的业务Bean -->
创建数据访问接口
创建数据访问接口的实现类
配置SQL映射语句文件
配置MyBatis应用配置文件
配置Spring应用配置文件
5/33
实现Spring和MyBatis整合5-3
需求说明
实现Spring整合MyBatis 使用SqlSessionTemplate实现根据条件(用户名称、角色
ID)查询用户列表
完成时间:15分钟
8/33
共性问题集中讲解 常见问题及解决办法 代码规范问题 调试技巧
共性问题集中讲解
9/33
实现Spring和MyBatis整合5-4
采用数据映射器(MapperFactoryBean)的方式完成 对数据库操作
根据Mapper接口获取Mapper对象,它封装了原有的
பைடு நூலகம்
SqlSession.getMapper()功能的实现
相关文档
最新文档