Spring?boot事務(wù)無效報(bào)錯:Transaction?not?enabled問題排查解決
問題描述
使用spring boot + mybatis plus時添加的事務(wù)不生效,并且有些方法操作會出現(xiàn)如下異常:
c.a.m.s.i.SubscriptionsStatsServiceImpl [SqlHelper.java : 179] SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7f63bdb9] Transaction not enabled
問題排查
追蹤SqlHelper類,找到報(bào)錯的位置,如下:

可以看到只有批量插入才會報(bào)錯,單條插入不報(bào)錯。報(bào)錯是因?yàn)榈貌坏绞聞?wù)標(biāo)識,猜測可能是事務(wù)注解沒生效。
事務(wù)使用方法
查找spring boot的事務(wù)使用方式,大多數(shù)都是說通過兩個注解就可以了。
首先在啟動類中添加EnableTransactionManagement,如下:

然后在Service方法或者類上邊添加Transactional,如下:

之后spring boot會自動在方法中添加事務(wù)。
上述方法是網(wǎng)上通用的方法,詳細(xì)參考:http://m.fzitv.net/program/3060192mp.htm,但是本地測試事務(wù)無效。
問題解決
后來想到每個service都集成了BaseService,其中的save、saveBatch等常用方法都放到了BaseService中,但是BaseService本身沒有添加Transactional注解,添加后問題解決。。。
總結(jié)
到此這篇關(guān)于Spring boot事務(wù)無效報(bào)錯:Transaction not enabled問題排查解決的文章就介紹到這了,更多相關(guān)Springboot事務(wù)無效報(bào)錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring MVC 擴(kuò)展和 SSM 框架整合步驟詳解
在前端頁面后后臺交互的過程中,需要一種格式清晰、高效且兩端都可以輕松使用的數(shù)據(jù)格式做交互的媒介,JSON正可以滿足這一需求,下面學(xué)習(xí)使用Spring MVC 框架處理JSON數(shù)據(jù),感興趣的朋友一起看看吧2024-08-08
Java大數(shù)運(yùn)算BigInteger與進(jìn)制轉(zhuǎn)換詳解
這篇文章主要介紹了Java大數(shù)運(yùn)算BigInteger與進(jìn)制轉(zhuǎn)換詳解,Java 提供了 BigInteger(大整數(shù))類和 BigDecimal(大浮點(diǎn)數(shù))類用于大數(shù)運(yùn)算,這兩個類都繼承自 Number 類(抽象類),由于 BigInteger 在大數(shù)運(yùn)算中更常見,需要的朋友可以參考下2023-09-09
基于CopyOnWriteArrayList并發(fā)容器(實(shí)例講解)
下面小編就為大家?guī)硪黄贑opyOnWriteArrayList并發(fā)容器(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明
Hadoop的能提供高吞吐量的數(shù)據(jù)訪問,是集群式服務(wù)器的上的數(shù)據(jù)操作利器,這里就來為大家分享Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明:2016-06-06
基于Spring Validation實(shí)現(xiàn)全局參數(shù)校驗(yàn)異常處理的示例詳解
在 Spring Boot 項(xiàng)目開發(fā)中,接口參數(shù)校驗(yàn)是保障數(shù)據(jù)合法性的關(guān)鍵環(huán)節(jié),Spring Validation 提供了便捷的參數(shù)校驗(yàn)?zāi)芰?下面我們就來看看具體的實(shí)現(xiàn)方法吧2025-08-08
Java爬蟲實(shí)戰(zhàn)抓取一個網(wǎng)站上的全部鏈接
這篇文章主要介紹了JAVA使用爬蟲抓取網(wǎng)站網(wǎng)頁內(nèi)容的方法,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。2016-10-10
Jmeter跨線程組傳值調(diào)用實(shí)現(xiàn)圖解
這篇文章主要介紹了Jmeter跨線程組傳值調(diào)用實(shí)現(xiàn)圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07

