MybatisPlus 多數(shù)據(jù)源切換@DS注解失效問(wèn)題解決
在業(yè)務(wù)開(kāi)發(fā)中使用到了多數(shù)據(jù)源,遇到了@DS注解失效問(wèn)題,有兩個(gè)場(chǎng)景使用到同一個(gè)@DS的查詢(xún)方法,一個(gè)正常,另一個(gè)失效。
偽代碼如下:
@Service
public class UserService {
@Autowired
private OtherService other;
// 正常
public void writeAndRead() {
other.query();
}
// 失效
@Transactional
public void writeAndRead() {
other.query();
userMapper.insert(...);
}
}
@DS("slave")
@Service
public class OtherService {
public void query() {
mapper.selectList(...);
}
}場(chǎng)景一和二正常都打印了@DS中的key

后續(xù)排查發(fā)現(xiàn)是失效場(chǎng)景中使用了事務(wù)注解 @Transactional,事務(wù)注解會(huì)綁定數(shù)據(jù)源,導(dǎo)致@DS失效,后續(xù)解決方案是在使用@DS切換數(shù)據(jù)源的類(lèi)方法上加入一下代碼:
@DS("slave")
@Service
public class OtherService {
// 非事務(wù)性地執(zhí)行
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void query() {
mapper.selectList(...);
}
}到此這篇關(guān)于MybatisPlus 多數(shù)據(jù)源切換@DS注解失效問(wèn)題解決的文章就介紹到這了,更多相關(guān)MybatisPlus @DS注解失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目中Druid自動(dòng)登錄功能實(shí)現(xiàn)
Druid是Java語(yǔ)言中最好的數(shù)據(jù)庫(kù)連接池,Druid能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能,這篇文章主要介紹了SpringBoot項(xiàng)目中Druid自動(dòng)登錄功能實(shí)現(xiàn),需要的朋友可以參考下2024-08-08
Spring Boot高級(jí)教程之Spring Boot連接MySql數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了Spring Boot高級(jí)教程之Spring Boot連接MySql數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
IntelliJ IDEA安裝目錄和設(shè)置目錄的說(shuō)明(IntelliJ IDEA快速入門(mén))
這篇文章主要介紹了IntelliJ IDEA安裝目錄和設(shè)置目錄的說(shuō)明(IntelliJ IDEA快速入門(mén)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Struts2 Result 返回JSON對(duì)象詳解
這篇文章主要講解Struts2返回JSON對(duì)象的兩種方式,講的比較詳細(xì),希望能給大家做一個(gè)參考。2016-06-06
SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程
在我們寫(xiě)項(xiàng)目的時(shí)候,我們時(shí)常會(huì)因?yàn)樾枰獎(jiǎng)?chuàng)建很多的項(xiàng)目結(jié)構(gòu)而頭疼,本文主要介紹了SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
java基于正則提取字符串中的數(shù)字功能【如提取短信中的驗(yàn)證碼】
這篇文章主要介紹了java基于正則提取字符串中的數(shù)字功能,可用于提取短信中的驗(yàn)證碼,涉及java基于正則的字符串匹配相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
Windows下安裝ElasticSearch的方法(圖文)
這篇文章主要介紹了Windows下安裝ElasticSearch的方法(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Spring容器刷新obtainFreshBeanFactory示例詳解
這篇文章主要為大家介紹了Spring容器刷新obtainFreshBeanFactory示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

