欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mybatis源码解析之事务管理

程序员文章站 2022-06-19 17:50:02
目录mybatis事务管理和spring整合后的事务管理mybatis事务管理我们可以在mybatis-config.xml中配置事务管理器的实现

mybatis事务管理

我们可以在mybatis-config.xml中配置事务管理器的实现

<transactionmanager type="jdbc"/>

当值为jdbc时,事务管理实现类为jdbctransaction,底层利用数据库的connection来管理事务

当值为managed时,事务管理实现类为managedtransactionfactory,但它对事务的管理是一个空实现,将事务管理交给外部容器

Mybatis源码解析之事务管理

jdbctransaction

Mybatis源码解析之事务管理

managedtransaction

Mybatis源码解析之事务管理

和spring整合后的事务管理

mybatis和spring整合创建transactionfactory的时候,如果没有设置,则会将其设置为springmanagedtransactionfactory

org.mybatis.spring.sqlsessionfactorybean#buildsqlsessionfactory

Mybatis源码解析之事务管理

Mybatis源码解析之事务管理

但是真正执行事务的时候,一般情况下不会由springmanagedtransaction来执行,因为我们一般都把事务交给spring来管理,当把事务交给spring管理的时候this.isconnectiontransactional=true,因此commit和rollback相当于是空实现

Mybatis源码解析之事务管理

mybatis和spring整合后,一般还是由spring框架中的datasourcetransactionmanager来进行事务管理

Mybatis源码解析之事务管理

如果你对spring进行事务管理不清楚的话,等我后续的spring专栏

到此这篇关于mybatis源码解析之事务管理的文章就介绍到这了,更多相关mybatis事务管理内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: MyBatis 事务