欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Mybatis和Spring集成 sessionFactory.openSession() 事务不生效问题

发布时间:2025/3/20 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Mybatis和Spring集成 sessionFactory.openSession() 事务不生效问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题描述

  • Mybatis和Spring集成,查阅官方文档,得知Spring总会为你处理事务。
  • 官方文档连接:http://mybatis.org/spring/zh/transactions.html
  • 其中描述到:
    • MyBatis 的 SqlSession 提供几个方法来在代码中处理事务。但是当使用 MyBatis-Spring 时,你的 bean 将会注入由 Spring 管理的 SqlSession 或映射器。也就是说,Spring 总是为你处理了事务。
    • 无论 JDBC 连接是否设置为自动提交,调用 SqlSession 数据方法或在 Spring 事务之外调用任何在映射器中方法,事务都将会自动被提交。

解决方案

  • 根据文档,有以下的解决方案:
  • 先开启Spring事务功能,在 Spring 的配置文件中创建一个 DataSourceTransactionManager 对象:
@Bean public DataSourceTransactionManager transactionManager() {

总结

以上是生活随笔为你收集整理的Mybatis和Spring集成 sessionFactory.openSession() 事务不生效问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。