我記得spring事務管理,默認是自動提交為false,但是好像很多數據庫池,包括druid,自動提交默認是true,那這之間不是有沖突嗎?另外底層數據庫,譬如mysql的配置中也可以配置autocommit,那么這三者誰的優先級最高呢,也就是哪個的設置可以覆蓋其他的?另外,這里的自動提交的理解有兩種1)整個事務將要結束時,事務管理AOP自動提交2)每一句sql語句執行完時,自動提交數據庫池的defaultAutoCommit和spring事務管理中所謂的自動提交針對的是哪一種?
1 回答
拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
不清楚spring,但在數據庫層面,
MySQL的自動提交,是每條來自客戶端的語句執行完后自動提交。
但如果使用begin或start transaction顯式開啟一個事務,則需要顯示的commit或rollback來結束事務。
當然,一個事務內執行DDL會觸發隱式提交。
添加回答
舉報
0/150
提交
取消
