Mybatis源码解析之事务管理

作者:Java识堂 时间:2023-01-14 10:59:34 

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专栏

来源:https://blog.csdn.net/zzti_erlie/article/details/121947542

标签:MyBatis,事务
0
投稿

猜你喜欢

  • Flutter加载图片的多样玩法汇总

    2023-08-24 09:48:22
  • C#实现判断当前操作用户管理角色的方法

    2023-06-25 09:48:36
  • Scala中的mkString的具体使用方法

    2023-11-16 00:18:18
  • C#编程总结(一)序列化总结

    2022-04-07 04:25:19
  • Android viewpager自动轮播和小圆点联动效果

    2023-08-06 21:42:41
  • MyEclipse2017创建Spring项目的方法

    2023-01-02 17:00:25
  • Spring源码解析之编程式事务

    2023-06-20 19:17:49
  • Java Netty实现心跳机制过程解析

    2023-05-24 21:27:10
  • MyBatis中基于别名typeAliases的设置

    2022-03-07 22:18:19
  • Android应用开发中Fragment存储功能的基本用法

    2022-10-16 20:54:35
  • Java的可变参数与Collections类的功能示例解析

    2022-03-05 18:45:47
  • java进阶解析Springboot上传excel存入数据库步骤

    2022-01-07 15:18:51
  • android之listview悬浮topBar效果

    2022-12-24 23:29:58
  • C#基础教程之IComparable用法,实现List<T>.sort()排序

    2023-11-03 07:07:46
  • Spring Boot 自动配置的实现

    2023-07-21 18:18:55
  • java之函数式接口解读

    2022-07-16 16:32:46
  • C#导出数据到CSV文件的通用类实例

    2023-05-22 09:23:16
  • IOS 实现摇一摇的操作

    2023-07-02 13:46:53
  • Java Iterator迭代器_动力节点Java学院整理

    2022-11-08 13:50:39
  • 基于Java代码操作Redis过程详解

    2022-03-28 06:53:58
  • asp之家 软件编程 m.aspxhome.com