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

最近自己在寫一個小的項目,寫的時候才發現自己會的東西太少了,總是遇到各種各樣的坑。

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

第一、需要在service方法上添加註解:

@Transactional(rollbackFor = Exception.class)

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

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

這樣就OK了,當然也可以通過AOP去批量實現這種效果,只是暫時我還沒有研究明白,所以就先記錄這個最簡單的了。後期補上。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章