SSM:MyBatis与Spring的整合

本文详细介绍如何在Spring框架中整合MyBatis,包括配置数据源、SqlSessionFactoryBean,使用SqlSessionTemplate操作数据库,以及通过两种方式注入映射器实现数据库交互。此外,还讲解了如何配置声明式事务管理和使用注解进行事务处理。

MyBatis与Spring的整合

一:Spring整合MyBatis的准备工作:

(1.)在项目中加入Spring,ByBatis及整合相关的jar文件 (2.)建立开发目录结构,创建实体类 (3.)创建数据访问接口 (4.)配置SQL映射文件 (5.)配置MyBatis配置文件

二:实现Spring对MyBatis的整合

(1.)配置数据源 (2.)配置SqlSessionFactoryBean (3.)使用SqlSessionTemplate实现数据库的操作 (4.)编写业务逻辑代码并测试

三:注入映射器实现

(1.)使用MapperFactoryBean主题映射器 规则:1.映射器命名空间和映射器接口的名称相同 2.映射器元素的id和映射器接口方法相同 (2.)使用MapperScannerConfigurer注入映射器(批量注入) 规则:1.basePackage属性中可以包含多个包名,多个包名之间使用逗号或者分号隔开 2.MapperScennerConfigurer会为所有有他创建的映射器实现开启自动配置 3.若环境中出现于不同目的的配置了多个SqlSessionFactory实例,自动配置将无法完成

四:配置声明式事务

(1.)事务管理器类DataSourceTransactionManager 增强事务:tx:advice (2.)事务传播机制: REQUIRED:默认值 REQUIRES_NEW:表示总是开启一个新的事务 MANDATORY:表示如果存在一个事务则支持当前事务,如果没有则抛出异常 NESTED:表示如果存在当前一个活动事务,则创建一个事务作为当前事物的嵌套事务,如果没有事务,该取值与REQUIRED相同 SUPPORTS:表示如果存在一个事务,则支持当前事务,如果没有当前事务,则安排这个事务挂起,然后执行该方法 NEVER:表示总以非事务方法执行。如果存在一个活动事务,则抛出异常 (3.)事务配置步骤 导入tx和aop命名空间 定义事务管理器Bean并为其注入数据源Bean 通过tx:advice 配置事务增强,绑定事务管理器并针对不同方法定义事务规则 配置切面,将事务增强与方法切入点组合

五:使用注解实现声明事务处理:

@transactional注解的属性 Propagation:枚举型 Isolation:枚举型 readOnly:布尔型 timeout:int类型 rollbackFor:一组Class累的实例,必须是Throwable的子类 rollbackForClassName:一组Class类的名称,必须是Throwable的子类 noRollbackFor:一组Class类的实例,必须是Throwable的子类 noRollbackForClassName:一组Class类的名称,必须是Throwable的子类

转载于:https://my.oschina.net/u/3711263/blog/1558356

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值