Mybatis事務處理
阿新 • • 發佈:2017-10-28
tis div back cnblogs nag sql 配置文件 經典 基本
知識點有事務處理的配置,還有事務處理的方法
事務處理的配置:
mybatis的事務處理由兩種方式控制,JDBC和MANAGED; MANAGED就是說事務處理由第三方的插件來完成,比如說spring。
事務處理的配置也是要寫在基本配置文件當中,寫在<environment>標簽的子標簽<transactionManager>
<environment> <transactionManager type="JDBC"/>
...
</environment>
然後來看一下事務處理的方法,也就是經典代碼:
首先要關閉自動提交,就是建立session的時候傳一個false進去,其實默認就是這樣。
try{
session = sqlMapper.openSession(false);
然後就是各種各樣的操作。
然後提交事務:
session.commit();
} catch(Exception e) {//提交後有問題的話,我們有個回滾操作
session.rollback();//回滾事務(回滾指的是程序或數據處理錯誤,將程序或數據恢復到上一次正確狀態的行為。回滾包括程序回滾和數據回滾等類型。)
} finally {
session.close();//關閉session
}
順便說一下MyBatis的自動返回id機制:
session的insert方法很厲害, insert操作有個特點,就是把一個對象傳進來的時候,會同時為這個原始的對象賦上該賦的值,比如說自增的id,這是Mybatis的一個特點,就是說本來java裏面的這個JiKeUser對象裏的id屬性是沒有賦值的,但是你把它insert操作,整個對象傳進來之後,Mybatis會為這個對象的id屬性自動賦上自增的id值!
Mybatis事務處理