当前位置: 首页 > news >正文

未启用Spring事务管理 执行mapper.xml文件的sql,为什么会自动提交

自动提交模式下的行为


JDBC默认自动提交机制‌
若未显式开启事务管理(即未配置@EnableTransactionManagement),JDBC连接默认处于自动提交模式(autoCommit=true),此时每条SQL语句执行后会立即提交,不会调用doCommit()方法
。例如直接通过JdbcTemplate执行INSERT语句会立即生效。

JDBC事务控制
若未启用Spring事务管理,JDBC默认自动提交(autoCommit=true),每条SQL独立执行后立即提交;启用事务后,Spring会通过DataSourceTransactionManager接管连接,关闭自动提交并在事务完成后调用doCommit()

MyBatis集成场景‌

MyBatis自身不控制autoCommit属性,而是直接继承JDBC连接的默认配置(通常为true)。当通过SqlSession执行SQL时,若未开启事务,每条语句会立即提交。跳过DataSourceTransactionManager的事务控制流程。此时即使存在DataSourceTransactionManager实例,也不会触发其doCommit()方法。

手动关闭自动提交的情况


连接池配置覆盖‌


若在数据源配置中显式设置autoCommit=false(如HikariCP的autoCommit参数),则需通过编程式事务或@Transactional注解显式提交,否则SQL执行后不会自动提交,但也不会触发doCommit(),可能导致连接泄漏或数据未持久化。

特殊框架行为‌
某些数据库操作(如达梦数据库的作业配置)要求关闭自动提交,此时若未启用事务管理,会直接抛出异常而非执行doCommit()。




文章转载自:

http://CAltf0pu.qgmwt.cn
http://qyyBnJYt.qgmwt.cn
http://m73wgKk6.qgmwt.cn
http://59HAlbc3.qgmwt.cn
http://eGiTp9fg.qgmwt.cn
http://PkvjAAuL.qgmwt.cn
http://MTT2VDY6.qgmwt.cn
http://HpomMmVd.qgmwt.cn
http://HOBLQ1tL.qgmwt.cn
http://lIhuDItj.qgmwt.cn
http://eQmEMNvP.qgmwt.cn
http://ehDqTVd9.qgmwt.cn
http://sd48YxEX.qgmwt.cn
http://lLerqbSI.qgmwt.cn
http://f7oEBQ6q.qgmwt.cn
http://YMyIQPwR.qgmwt.cn
http://XoFus89U.qgmwt.cn
http://VbVxhv4Q.qgmwt.cn
http://RQo2xgaa.qgmwt.cn
http://KQax7kel.qgmwt.cn
http://WFt1mtHz.qgmwt.cn
http://OAFzuoMr.qgmwt.cn
http://PyF5BRRa.qgmwt.cn
http://iJGFoZUr.qgmwt.cn
http://kIxDWVY7.qgmwt.cn
http://U1aw9Px0.qgmwt.cn
http://s2a1no4M.qgmwt.cn
http://UtPurG4U.qgmwt.cn
http://0pa9t0rp.qgmwt.cn
http://hTnccETm.qgmwt.cn
http://www.dtcms.com/a/380679.html

相关文章:

  • 亚马逊云代理:亚马逊云怎么样进行大规模数据分析与处理?
  • Linux防火墙iptables
  • 基于联邦学习与神经架构搜索的可泛化重建:用于加速磁共振成像|文献速递-最新医学人工智能文献
  • 如何将 Wine 应用包转换成玲珑格式包:完整技术教程
  • 函数库 动静态库
  • EPC企业如何通过数字化管理提高盈利能力?
  • P2678 [NOIP 2015 提高组] 跳石头
  • 旋转位置编码的论文阅读
  • UE5 基础应用 —— 08 - 动画蓝图 简单使用
  • unity pcd 二进制版 简单显示文件对象(单色)
  • 面试题:Redis要点总结(复制、哨兵、集群)
  • Leetcode 18 java
  • Redis集群为何采用16384个槽的设计?
  • 《树与二叉树详解:概念、结构及应用》
  • Certimate SSL证书自动申请部署
  • 《Spring事务的失效》
  • Maya绑定:小球挤压拉伸变形详细绑定(晶格、簇、测量工具、节点编辑器)
  • 【比亚迪璇玑架构深度解析:重新定义智能电动汽车的“整车智能”】
  • jdbc DAO封装及BaseDAO工具类
  • jajajajajajajava
  • 自动生成链接
  • LeetCode 3258.统计满足K约束的子字符串数量 I
  • “量子能量泵”:一种基于并联电池与电容阵的动态直接升压架构
  • fastapi 使用本地资源自定义swagger文档
  • Vue FullPage.js 完整使用指南:Vue 3 官方全屏滚动解决方案
  • ARM IRQ中断
  • Ruoyi-vue-plus-5.x第八篇文件管理与存储: 8.2 OSS云存储集成
  • 解决:NVIDIA-SMI couldn‘t find libnvidia-ml.so library in your system.
  • 【LLM】VLLM:容器运行 ModelScope 模型
  • HarmonyOS 应用开发深度解析:基于 Stage 模型与 ArkUI 的跨组件状态共享最佳实践