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事务管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java本机内存分配Native memory allocation mmap失败问题解决
这篇文章主要介绍了java本机内存分配Native memory allocation mmap失败问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-11
利用spring boot+WebSocket实现后台主动消息推送功能
目前对于服务端向客户端推送数据,常用技术方案有轮询、websocket等,下面这篇文章主要给大家介绍了关于利用spring boot+WebSocket实现后台主动消息推送功能的相关资料,需要的朋友可以参考下2022-04-04
Maven编译错误:程序包com.sun.*包不存在的三种解决方案
J2SE中的类大致可以划分为以下的各个包:java.*,javax.*,org.*,sun.*,本文文章主要介绍了maven编译错误:程序包com.sun.xml.internal.ws.spi不存在的解决方案,感兴趣的可以了解一下2024-02-02


最新评论