欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

@Transactional遇到try catch失效的問(wèn)題

 更新時(shí)間:2022年01月25日 16:53:35   作者:海子<‘_’>  
這篇文章主要介紹了@Transactional遇到try catch失效的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Transactional遇到try catch失效

Springboot中@Transactional遇到了try catch失效了,需要手動(dòng)回滾

try {
                        user.setExpire(Integer.parseInt(expire));
                        userService.updateById(user);
                        Host host = hostService.getById(user.getHostId());//查詢數(shù)據(jù)庫(kù)的host信息
                        updateResponse = proxmoxConfig.updateEffectiveTime(user.getUserName(), expire, host.getHostUrlRequest());
                    } catch (Exception e) {
                        e.printStackTrace();
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    }

@Transactional與try..catch同時(shí)使用的經(jīng)驗(yàn)

@transactional 是我們?cè)趈ava 開(kāi)發(fā)中經(jīng)常用到的注解,幫助我們非常方便快捷的完成事務(wù)管理,尤其在批量處理數(shù)據(jù)的時(shí)候,更是重要,最近業(yè)務(wù)中遇到了這種情況,

批量向數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù),這就會(huì)出現(xiàn)excel表中有的數(shù)據(jù)類型符合導(dǎo)入要求,有的不符合,當(dāng)我們導(dǎo)入的時(shí)候要么就全部成功的導(dǎo)入,要么就失敗都不導(dǎo)入,如果不用事務(wù)的話就會(huì)出現(xiàn)數(shù)據(jù)正確的會(huì)導(dǎo)入到數(shù)據(jù)庫(kù),不正確的就沒(méi)導(dǎo)入,造成數(shù)據(jù)的不一致性,

可我的業(yè)務(wù)不僅僅是用@transactional 注解完成事務(wù),而且當(dāng)出現(xiàn)數(shù)據(jù)不符拋異常的時(shí)候還要返回錯(cuò)誤的提示,所以我還得結(jié)核try...catch 塊,問(wèn)題來(lái)了,用try...catch就是捕獲異常,然后處理掉,而 @transactional 是要在系統(tǒng)拋異常的時(shí)候才能起到事務(wù)回滾的作用,

后來(lái)我查了一些資料,如下操作:

重點(diǎn)就是TransactionAspectSupport.currentTransactionStatus().setRollbackOnly 這個(gè)方法,它會(huì)起到異?;貪L的作用,這樣我就可以在它執(zhí)行完之后,設(shè)置需要返回的自定義的信息

最近又遇到了@transactional 注解不起作用的問(wèn)題了,這一次的情況是原來(lái)我的mysql 數(shù)據(jù)庫(kù)默認(rèn)用的是MyISAM 引擎,而這個(gè)存儲(chǔ)引擎不支持事務(wù),所以需要對(duì)數(shù)據(jù)庫(kù)的進(jìn)行一下操作:在控制臺(tái)輸入  alter table xxx(表名) engine=InnoDB 然后你可以在輸入show create table xxx(表名) 來(lái)查看是否修改成功

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 教你用IDEA配置JUnit并進(jìn)行單元測(cè)試

    教你用IDEA配置JUnit并進(jìn)行單元測(cè)試

    今天教各位小伙伴怎么用IDEA配置JUnit并進(jìn)行單元測(cè)試,文中有非常詳細(xì)的圖文介紹及代碼示例,對(duì)正在學(xué)習(xí)IDEA的小伙伴有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java多線程之Worker Thread模式

    Java多線程之Worker Thread模式

    這篇文章主要介紹了Java多線程之Worker Thread模式,Worker的意思是工作的人,在Worker Thread模式中,工人線程Worker thread會(huì)逐個(gè)取回工作并進(jìn)行處理,當(dāng)所有工作全部完成后,工人線程會(huì)等待新的工作到來(lái),下面文章小編回給大家詳細(xì)介紹,需要的朋友可以參考一下
    2021-10-10
  • Maven插件構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟

    Maven插件構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Maven插件構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • windows定時(shí)器配置執(zhí)行java jar文件的方法詳解

    windows定時(shí)器配置執(zhí)行java jar文件的方法詳解

    這篇文章主要給大家介紹了關(guān)于windows定時(shí)器配置執(zhí)行java jar文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java常用集合之Set和Map的用法詳解

    Java常用集合之Set和Map的用法詳解

    這篇文章將通過(guò)一些示例為大家詳細(xì)介紹一下Java常用集合中Set和Map的用法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-07-07
  • SpringCloud Feign原理剖析

    SpringCloud Feign原理剖析

    feign是用在微服務(wù)中,各個(gè)微服務(wù)間的調(diào)用,它是通過(guò)聲明式的方式來(lái)定義接口,而不用實(shí)現(xiàn)接口,feign讓服務(wù)間的調(diào)用變得簡(jiǎn)單,不用各個(gè)服務(wù)去處理http client相關(guān)的邏輯,本文詳細(xì)介紹SpringCloud Feign原理,需要的朋友可以參考下
    2023-06-06
  • SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

    SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

    本文主要介紹了SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • java圖片對(duì)比度調(diào)整示例代碼

    java圖片對(duì)比度調(diào)整示例代碼

    這篇文章主要給大家介紹了關(guān)于java圖片對(duì)比度調(diào)整的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • springboot接口多實(shí)現(xiàn)類選擇性注入解決方案

    springboot接口多實(shí)現(xiàn)類選擇性注入解決方案

    這篇文章主要為大家介紹了springboot接口多實(shí)現(xiàn)類選擇性注入解決方案的四種方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • mybatis框架之mybatis中dao層開(kāi)發(fā)的兩種方法

    mybatis框架之mybatis中dao層開(kāi)發(fā)的兩種方法

    這篇文章主要介紹了mybatis框架之mybatis中dao層開(kāi)發(fā)的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論