Spring如何实现与MyBatis事务管理的融合机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2963个文字,预计阅读时间需要12分钟。
@TOC前言Spring-tx 是一套事务管理框架。Mybatis 是一个 ORM 框架,它操作 DB 连接执行 sql,并涉及事务处理。在 Mybatis 中,通过 SqlSession 执行 sql。
@TOC
前言
spring-tx 是一套事务管理框架。 Mybatis 是一个 ORM 框架,它会操作 DB 连接来执行 sql,所以,也会涉及到事务的处理。 在 MyBatis 中,是通过 SqlSession 来执行 sql 的,也是通过它来管理事务的。默认情况下,MyBatis 是开启事务的,即: connection.setAutoCommit(false);
那么,spring-tx 的事务管理是如何与 mybatis 的事务管理进行整合的呢?
正文
通过 前面文章 的分析,我们知道 spring-tx 是通过 PlatformTransactionManager 来管理事务的。 查看 PlatformTransactionManager 源码,我们可以发现,它在底层是通过 org.springframework.jdbc.datasource.ConnectionHolder 中持有的连接来控制事务的。
本文共计2963个文字,预计阅读时间需要12分钟。
@TOC前言Spring-tx 是一套事务管理框架。Mybatis 是一个 ORM 框架,它操作 DB 连接执行 sql,并涉及事务处理。在 Mybatis 中,通过 SqlSession 执行 sql。
@TOC
前言
spring-tx 是一套事务管理框架。 Mybatis 是一个 ORM 框架,它会操作 DB 连接来执行 sql,所以,也会涉及到事务的处理。 在 MyBatis 中,是通过 SqlSession 来执行 sql 的,也是通过它来管理事务的。默认情况下,MyBatis 是开启事务的,即: connection.setAutoCommit(false);
那么,spring-tx 的事务管理是如何与 mybatis 的事务管理进行整合的呢?
正文
通过 前面文章 的分析,我们知道 spring-tx 是通过 PlatformTransactionManager 来管理事务的。 查看 PlatformTransactionManager 源码,我们可以发现,它在底层是通过 org.springframework.jdbc.datasource.ConnectionHolder 中持有的连接来控制事务的。

