1. 程式人生 > >Mybatis事務處理

Mybatis事務處理

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事務處理