關於Spring事務回滾的配置及使用

2021-07-11 02:47:17 字數 628 閱讀 5786

在spring的配置檔案中,如果資料來源的defaultautocommit設定為true了,那麼方法中如果自己捕獲了異常,事務是不會回滾的,如果沒有自己捕獲異常則事務會回滾,如下例

比如配置檔案裡有這麼條記錄:

....  

那麼現在有兩個情況

情況1:如果沒有在程式中手動捕獲異常

@transactional(rollbackfor = )  

public void test() throws exception

情況2:如果在程式中自己捕獲了異常

@transactional(rollbackfor = )  

public void test() catch (exception e)

}

現在如果我們需要手動捕獲異常,並且也希望拋異常的時候能回滾腫麼辦呢?

下面這樣寫就好了,手動回滾事務:

@transactional(rollbackfor = )  

public void test() catch (exception e)

}

關於spring容器事務回滾

註解方式宣告事務,該事務宣告的範圍是service中的方法,而一般的事務宣告時不是宣告在 業務邏輯方法上的,而是宣告在單一的資料庫操作方法上的 transactional public class userserviceimpl implements userservice,new int thro...

關於Spring事務回滾的問題

在spring的配置檔案中,如果資料來源的defaultautocommit設定為true了,那麼方法中如果自己捕獲了異常,事務是不會回滾的,如果沒有自己捕獲異常則事務會回滾,如下例 比如配置檔案裡有這麼條記錄 那麼現在有兩個情況 情況1 如果沒有在程式中手動捕獲異常 transactional r...

spring事務回滾

註解方式宣告事務,該事務宣告的範圍是service中的方法,而一般的事務宣告時不是宣告在 業務邏輯方法上的,而是宣告在單一的資料庫操作方法上的 transactional publicclassuserserviceimplimplementsuserservice,newint thrownewe...