關於springboot裏面的事務回滾的簡單記錄

最近本身在寫一個小的項目,寫的時候才發現本身會的東西太少了,老是遇到各類各樣的坑。

今天主要記錄一下本身在寫數據庫存儲的時候想到要是出現錯誤,是否是要回滾數據庫的操做呀!
而後就百度並實踐了一下,得出下面的結論:數據庫

第1、須要在service方法上添加註解:code

@Transactional(rollbackFor = Exception.class)

第2、若是你沒有用try catch去捕獲異常的話,那麼只須要加上這個註解就能夠了,若是你捕獲異常了但catch裏面只是打印或者返回了異常信息,沒有手動拋出RuntimeException異常。那麼這個時候你就須要在catch裏面添加一個手動回滾的機制了。io

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

這樣就OK了,固然也能夠經過AOP去批量實現這種效果,只是暫時我尚未研究明白,因此就先記錄這個最簡單的了。後期補上。。。class

相關文章
相關標籤/搜索