为了账号安全,请及时绑定邮箱和手机立即绑定

数据库池的defaultAutoCommit和spring事务管理以及底层数据库设置的关系?

数据库池的defaultAutoCommit和spring事务管理以及底层数据库设置的关系?

Helenr 2019-05-11 09:15:43
我记得spring事务管理,默认是自动提交为false,但是好像很多数据库池,包括druid,自动提交默认是true,那这之间不是有冲突吗?另外底层数据库,譬如mysql的配置中也可以配置autocommit,那么这三者谁的优先级最高呢,也就是哪个的设置可以覆盖其他的?另外,这里的自动提交的理解有两种1)整个事务将要结束时,事务管理AOP自动提交2)每一句sql语句执行完时,自动提交数据库池的defaultAutoCommit和spring事务管理中所谓的自动提交针对的是哪一种?
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

不清楚spring,但在数据库层面,MySQL的自动提交,是每条来自客户端的语句执行完后自动提交。但如果使用begin或starttransaction显式开启一个事务,则需要显示的commit或rollback来结束事务。当然,一个事务内执行DDL会触发隐式提交。
                            
查看完整回答
反对 回复 2019-05-11
  • 2 回答
  • 0 关注
  • 861 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信