課程
/后端開發
/Java
/Spring事務管理
我用mybatis操作數據庫需要commit提交,可是提交后發生異常就回滾不了了,怎么辦
2019-04-20
源自:Spring事務管理 6-3
正在回答
在JDBC中,如果Connection類的方法setAutoCommit(boolean autoCommit)賦給值為false,那么就可以手動提交(調用Connection類的commit()方法);如果為true那么就是自動提交。
例子
? ? ? ? public void testAddAffair(){
? ? ? ? ? ? Connection con = JDBCTemple.getConnection();
? ? ? ? ? ? String sql = "select count(1) from sal_table";
? ? ? ? ? ? int count = 0;
? ? ? ? ? ? ? ? //事務的提交方式為手動提交
? ? ? ? ? ? ? ? con.setAutoCommit(false);
????????????????//事務的提交方式為手動提交
? ? ? ? ? ? ? ? con.setAutoCommit(true);
淋雨明天 提問者
快樂冰冰bing
對的呀!你使用了commit就是不能使用事物的回滾了,commit是提交的意思,COMMIT命令用于把事務所做的修改保存到數據庫,它把上一個COMMIT或ROLLBACK命令之后的全部事務都保存到數據庫。
舉報
事務管理是Spring重要的知識,應用事務解決數據不一致問題
2 回答并發操作怎么設置數據庫隔離級別
1 回答老師我這有異常,能不能把原碼也提供下載
1 回答匿名內部類調用方法的參數,參數需要加final ,但是可變參數還是變化了啊
4 回答基于注釋加載配置文件發生異常,求解釋!
2 回答不得不說這個異常信息給得太全了。。。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-04-20
在JDBC中,如果Connection類的方法setAutoCommit(boolean
autoCommit)賦給值為false,那么就可以手動提交(調用Connection類的commit()方法);如果為true那么就是自動提交。
例子
? ? ? ? public void testAddAffair(){
? ? ? ? ? ? Connection con = JDBCTemple.getConnection();
? ? ? ? ? ? String sql = "select count(1) from sal_table";
? ? ? ? ? ? int count = 0;
? ? ? ? ? ? ? ? //事務的提交方式為手動提交
? ? ? ? ? ? ? ? con.setAutoCommit(false);
????????????????//事務的提交方式為手動提交
? ? ? ? ? ? ? ? con.setAutoCommit(true);
2019-04-20
對的呀!你使用了commit就是不能使用事物的回滾了,commit是提交的意思,COMMIT命令用于把事務所做的修改保存到數據庫,它把上一個COMMIT或ROLLBACK命令之后的全部事務都保存到數據庫。