如何用Mybatis源码解析事务管理(mybatis,开发技术)

时间:2024-05-09 10:25:20 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Mybatis事务管理

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

<transactionManagertype="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源码解析事务管理

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:如何用Mybatis源码解析事务管理的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何解析Python中的赋值、浅拷贝和深拷贝下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18