您好,登录后才能下订单哦!
如何用Mybatis源码解析事务管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
我们可以在mybatis-config.xml中配置事务管理器的实现
<transactionManager type="JDBC"/>
当值为JDBC时,事务管理实现类为JdbcTransaction,底层利用数据库的Connection来管理事务
当值为MANAGED时,事务管理实现类为ManagedTransactionFactory,但它对事务的管理是一个空实现,将事务管理交给外部容器
JdbcTransaction
ManagedTransaction
mybatis和spring整合创建TransactionFactory的时候,如果没有设置,则会将其设置为SpringManagedTransactionFactory
org.mybatis.spring.SqlSessionFactoryBean#buildSqlSessionFactory
但是真正执行事务的时候,一般情况下不会由SpringManagedTransaction来执行,因为我们一般都把事务交给spring来管理,当把事务交给spring管理的时候this.isConnectionTransactional=true,因此commit和rollback相当于是空实现
mybatis和spring整合后,一般还是由spring框架中的DataSourceTransactionManager来进行事务管理
关于如何用Mybatis源码解析事务管理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。