我是靠谱客的博主 虚拟汽车,最近开发中收集的这篇文章主要介绍Mybatis源码解析之事务管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Mybatis事务管理

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

<transactionManager type="JDBC"/>

当值为JDBC时,事务管理实现类为JdbcTransaction,底层利用数据库的Connection来管理事务

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

在这里插入图片描述

JdbcTransaction

在这里插入图片描述

ManagedTransaction

在这里插入图片描述

和Spring整合后的事务管理

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

org.mybatis.spring.SqlSessionFactoryBean#buildSqlSessionFactory

在这里插入图片描述

请添加图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

最后

以上就是虚拟汽车为你收集整理的Mybatis源码解析之事务管理的全部内容,希望文章能够帮你解决Mybatis源码解析之事务管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(124)

评论列表共有 0 条评论

立即
投稿
返回
顶部