Spring整合MyBatis进行事务管理

1、引入的Spring和MyBatis依赖的jar包

Spring整合MyBatis进行事务管理_第1张图片

 

    引入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源代码目录结果及配置文件位置

Spring整合MyBatis进行事务管理_第2张图片

3、Spring核心配置文件applicationContext.xml的配置以及Java类的注解

applicationContext.xml的约束文件以及开启以注解的方式使用Spring的DI(依赖注入)

Spring整合MyBatis进行事务管理_第3张图片

配置数据库连接池、以及MyBatis的SqlSessionFactory、SqlSession对象(扫描方式)

Spring整合MyBatis进行事务管理_第4张图片

Spring整合MyBatis进行事务管理_第5张图片

对方法transferMoney()以注解的方式开启事务

Spring整合MyBatis进行事务管理_第6张图片

4、MyBatis的Maper.xml的配置

5、Mapper接口

Spring整合MyBatis进行事务管理_第7张图片

6、使用Junit进行测试

1、测试内容

Spring整合MyBatis进行事务管理_第8张图片

2、测试前对MySQL数据库的数据进行检验

Spring整合MyBatis进行事务管理_第9张图片

3、执行Junit测试后,再次查询MySQL数据库

1)首先查看日志,日志表明有spring进行了回滚(Rolling back JDBC transaction on Connection)

2)查询MySQL数据库的结果

    Spring整合MyBatis进行事务管理_第10张图片

Spring整合MyBatis实现事务管理,在抛出异常进行回滚成功。

你可能感兴趣的:(JavaEE框架)