亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?@Transactional指定回滾條件

 更新時間:2022年08月09日 11:39:06   作者:梁云亮???????  
這篇文章主要介紹了Java?@Transactional指定回滾條件,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下

異常分類

  • 可查的異常(checked exceptions):Exception下除了RuntimeException外的異常
  • 不可查的異常(unchecked exceptions):RuntimeException及其子類和錯誤(Error)

@Transactional注解屬性詳解

屬性類型描述
valueString可選的限定描述符,指定使用的事務管理器
propagationenum: Propagation可選的事務傳播行為設置
isolationenum: Isolation可選的事務隔離級別設置
readOnlyboolean讀寫或只讀事務,默認讀寫
timeoutint (in seconds granularity)事務超時時間設置
rollbackForClass對象數組,必須繼承自Throwable導致事務回滾的異常類數組
rollbackForClassName類名數組,必須繼承自Throwable導致事務回滾的異常類名字數組
noRollbackForClass對象數組,必須繼承自Throwable不會導致事務回滾的異常類數組
noRollbackForClassName類名數組,必須繼承自Throwable不會導致事務回滾的異常類名字數

@Transactional

使用@Transaction注解時,阿里巴巴代碼規(guī)范插件會提醒需要指定rollbackFor以顯示的rollback

默認情況下,Spring框架在使用@Transaction處理事務時默認只在拋出運行時異常unchecked exceptions時才會事務回滾。也就是說,當拋出個RuntimeException 或其子類例的實例時,從事務方法中拋出的Checked exceptions將不被標識進行事務回滾。

  • 讓checked異?;貪L:在整個方法前加上 @Transactional(rollbackOn=Exception.class)
  • 讓unchecked異常不回滾: @Transactional(dontRollbackOn=RunTimeException.class)
  • 不需要事務管理的(只查詢的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)

注意

  • 如果異常被try-catch了,事務就不會回滾,如果想讓事務回滾必須再往外拋try{}catch{throw Exception}
  • Spring團隊的建議在具體的類(或類的方法)上使用 @Transactional 注解,而不要使用在類所要實現的任何接口上。也可以在接口上使用 @Transactional 注解,但是這種情況需要設置基于接口的代理時才生效
  • @Transactional 注解標識的方法,建議處理過程盡量的簡單。尤其是帶鎖的事務方法,能不放在事務里面的最好不要放在事務里面??梢詫⒊R?guī)的數據庫查詢操作放在事務前面進行,而將增、刪、改等操作放在事務中

代碼

@Slf4j
@Service
public class MemberService {

? ? @Autowired
? ? private MemberMapper memberMapper;

? ? @Transactional
? ? public Integer insert(MemberEntity memberEntity) {
? ? ? ? Integer insertResult = 0;
? ? ? ? try {
? ? ? ? ? ? insertResult = memberMapper.save(memberEntity);
? ? ? ? ? ? log.info("insertResult:{}", insertResult);
? ? ? ? ? ? int result = 1 / memberEntity.getAge();
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? log.error("errorMsg:{}", e.getMessage());
? ? ? ? ? ? //回滾
? ? ? ? ? ? TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
? ? ? ? }
? ? ? ? return insertResult;
? ? }
}

如上標紅代碼,如果不寫的話,事務是不會回滾的。因為事務被 catch 捕獲到了,所以只能手動的進行事務回滾。

到此這篇關于Java @Transactional指定回滾條件的文章就介紹到這了,更多相關Java @Transactional內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java page cache回寫機制案例詳解

    Java page cache回寫機制案例詳解

    這篇文章主要介紹了Java page cache回寫機制案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • BeanUtils.copyProperties復制對象結果為空的原因分析

    BeanUtils.copyProperties復制對象結果為空的原因分析

    這篇文章主要介紹了BeanUtils.copyProperties復制對象結果為空的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java遍歷文件夾及子目錄代碼實例

    Java遍歷文件夾及子目錄代碼實例

    這篇文章主要介紹了Java遍歷文件夾及子目錄代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 使用java技術抓取網站上彩票雙色球信息詳解

    使用java技術抓取網站上彩票雙色球信息詳解

    這篇文章主要介紹了使用java技術抓取網站上彩票雙色球信息詳解,web結果由html+js+css組成,html結構都有一定的規(guī)范,數據動態(tài)交互可以通過js實現。,需要的朋友可以參考下
    2019-06-06
  • java方法重寫實例分析

    java方法重寫實例分析

    這篇文章主要介紹了java方法重寫,較為詳細的講述了Java方法重寫的注意事項,并附帶實例加以說明,需要的朋友可以參考下
    2014-09-09
  • linux環(huán)境下java程序打包成簡單的hello world輸出jar包示例

    linux環(huán)境下java程序打包成簡單的hello world輸出jar包示例

    這篇文章主要介紹了linux環(huán)境下java程序打包成簡單的hello world輸出jar包,結合簡單hello world輸出程序示例分析了Linux環(huán)境下的java可執(zhí)行jar包文件的生成相關操作技巧,需要的朋友可以參考下
    2019-11-11
  • Mybatis使用JSONObject接收數據庫查詢的方法

    Mybatis使用JSONObject接收數據庫查詢的方法

    這篇文章主要介紹了Mybatis使用JSONObject接收數據庫查詢,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Springboot-Starter造輪子之自動鎖組件lock-starter實現

    Springboot-Starter造輪子之自動鎖組件lock-starter實現

    這篇文章主要為大家介紹了Springboot-Starter造輪子之自動鎖組件lock-starter實現詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • java input 調用手機相機和本地照片上傳圖片到服務器然后壓縮的方法

    java input 調用手機相機和本地照片上傳圖片到服務器然后壓縮的方法

    今天小編就為大家分享一篇java input 實現調用手機相機和本地照片上傳圖片到服務器然后壓縮的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解jeefast和Mybatis實現二級聯動的問題

    詳解jeefast和Mybatis實現二級聯動的問題

    這篇文章主要介紹了詳解jeefast和Mybatis實現二級聯動的問題,本文通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論