Spring整合MyBatis进行事务管理
1、引入的Spring和MyBatis依赖的jar包
引入c3p0.jar与mchange-commons.jar是为了使用数据库连接池,数据库连接池会在MyBatis以及Spring的事务管理器接口PlatformTransactionManager中使用到。
引入aopalliance.jar、aspectjweaver.jar、spring-aop.jar、spring-aspects.jar是因为Spring的事务管理是基于AOP的编程思想实现的,所以需要引入这4个jar包
引入mybatis.jar,这没得说。因为D层使用MyBatis必须得引入该jar包
引入mybatis-spring.jar,是为了将spring与mybatis进行整合。
引入commons-logging.jar、log4j.jar、sl4j-api.jar、sl4j-log4j.jar是为了打印日志的需要
引入spring-beans.jar、spring-context.jar、spring-core.jar、spring-expression.jar,这也没得说,这是Spring框架运行的四个核心jar包
引入mysql-connector-jave.jar,这是JDBC的mysql驱动,要想Java程序访问MySQL数据库,必须引入该jar包
引入spring-jdbc.jar是为了让Spring管理数据库
引入spring-tx.jar,这是spring进行事务管理的核心jar包
2、Java源代码目录结果及配置文件位置
3、Spring核心配置文件applicationContext.xml的配置以及Java类的注解
applicationContext.xml的约束文件以及开启以注解的方式使用Spring的DI(依赖注入)
配置数据库连接池、以及MyBatis的SqlSessionFactory、SqlSession对象(扫描方式)
对方法transferMoney()以注解的方式开启事务
4、MyBatis的Maper.xml的配置
5、Mapper接口
6、使用Junit进行测试
1、测试内容
2、测试前对MySQL数据库的数据进行检验
3、执行Junit测试后,再次查询MySQL数据库
1)首先查看日志,日志表明有spring进行了回滚(Rolling back JDBC transaction on Connection)
2)查询MySQL数据库的结果
Spring整合MyBatis实现事务管理,在抛出异常进行回滚成功。