国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot多數(shù)據(jù)源事務(wù)@DSTransactional的使用

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot多數(shù)據(jù)源事務(wù)@DSTransactional的使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

項(xiàng)目場(chǎng)景:

Spring Boot集成com.baomidou,引入dynamic-datasource依賴,實(shí)現(xiàn)多數(shù)據(jù)源,這里說(shuō)下事務(wù)問(wèn)題:

1、一個(gè)方法中使用同一個(gè)數(shù)據(jù)源;

2、一個(gè)方法中使用了多個(gè)數(shù)據(jù)源;


解決方案:?

這里把dao、service列出來(lái)

1、dao層

package com.test.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

//數(shù)據(jù)源1
@DS("db1")
@Mapper
public interface Test1Dao {
	@Update("update test1 set name = #{name} where id = #{id}")
	void updateById(@Param("id")Integer id, @Param("name")String name);
}

?

package com.test.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.test.datasources.DataSourceNames;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

//數(shù)據(jù)源2
@DS(“db2”)
@Mapper
public interface Test2Dao {
	@Update("update test2 set name = #{name} where id = #{id}")
	void updateById(@Param("id")Integer id, @Param("name")String name);
}

2、service層?

package com.test.service;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.test.mapper.Test1Dao;
import com.test.mapper.Test2Dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class TestService {

    @Autowired
    private Test1Dao test1Dao;
    @Autowired
    private Test2Dao test2Dao;
    /**
     * 同一個(gè)數(shù)據(jù)源中的事務(wù),都是數(shù)據(jù)源2
     * 這里用的是spring的事務(wù)注解Transactional
     * 這里必須加上注解多數(shù)據(jù)源注解@DS("db2"),否則使用的是默認(rèn)數(shù)據(jù)源
     */
    @DS("db2")
    @Transactional
    public void theSame() {
        test2Dao.updateById(2,"第一次修改");
        test2Dao.updateById(2,"第二次修改");
        //這里報(bào)錯(cuò)回滾
        int i = 1/0;
    }

    /**
     * 多數(shù)據(jù)源中的事務(wù),同時(shí)使用數(shù)據(jù)源1、2
     * 如果這里用spring的事務(wù)注解Transactional,那么使用的是默認(rèn)數(shù)據(jù)源
     * 這里不需要加上注解@DS
     */
    @DSTransactional
    public void notAlike() {
        test1Dao.updateById(1,"第一次修改");
        test2Dao.updateById(2,"第二次修改");
        //這里報(bào)錯(cuò)回滾
        int i = 1/0;
    }
}

spring boot實(shí)現(xiàn)多數(shù)據(jù)源:Spring Boot集成Druid實(shí)現(xiàn)多數(shù)據(jù)源的兩種方式_濤哥是個(gè)大帥比的博客-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-515908.html

到了這里,關(guān)于Spring Boot多數(shù)據(jù)源事務(wù)@DSTransactional的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何在Spring Boot應(yīng)用中使用Nacos實(shí)現(xiàn)動(dòng)態(tài)更新數(shù)據(jù)源

    如何在Spring Boot應(yīng)用中使用Nacos實(shí)現(xiàn)動(dòng)態(tài)更新數(shù)據(jù)源

    ???? 博主貓頭虎 帶您 Go to New World.??? ?? 博客首頁(yè)——貓頭虎的博客?? ??《面試題大全專欄》 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開(kāi)發(fā)秘籍專欄》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)入門篇)》學(xué)會(huì)Golang語(yǔ)言

    2024年02月10日
    瀏覽(22)
  • 【Spring Boot 3】【數(shù)據(jù)源】自定義多數(shù)據(jù)源

    軟件開(kāi)發(fā)是一門實(shí)踐性科學(xué),對(duì)大多數(shù)人來(lái)說(shuō),學(xué)習(xí)一種新技術(shù)不是一開(kāi)始就去深究其原理,而是先從做出一個(gè)可工作的DEMO入手。但在我個(gè)人學(xué)習(xí)和工作經(jīng)歷中,每次學(xué)習(xí)新技術(shù)總是要花費(fèi)或多或少的時(shí)間、檢索不止一篇資料才能得出一個(gè)可工作的DEMO,這占用了我大量的時(shí)

    2024年02月01日
    瀏覽(24)
  • 【Spring Boot 3】【數(shù)據(jù)源】自定義JPA數(shù)據(jù)源

    軟件開(kāi)發(fā)是一門實(shí)踐性科學(xué),對(duì)大多數(shù)人來(lái)說(shuō),學(xué)習(xí)一種新技術(shù)不是一開(kāi)始就去深究其原理,而是先從做出一個(gè)可工作的DEMO入手。但在我個(gè)人學(xué)習(xí)和工作經(jīng)歷中,每次學(xué)習(xí)新技術(shù)總是要花費(fèi)或多或少的時(shí)間、檢索不止一篇資料才能得出一個(gè)可工作的DEMO,這占用了我大量的時(shí)

    2024年01月21日
    瀏覽(32)
  • 使用多數(shù)據(jù)源dynamic-datasource-spring-boot-starter遇到的問(wèn)題記錄

    使用多數(shù)據(jù)源dynamic-datasource-spring-boot-starter遇到的問(wèn)題記錄

    記錄使用多數(shù)據(jù)源dynamic-datasource-spring-boot-starter遇到的問(wèn)題: 1、工程啟動(dòng)失敗 缺少clickhouse連接驅(qū)動(dòng),引入對(duì)應(yīng)的maven依賴 2、clickhouse的sql語(yǔ)句讀到了mysql數(shù)據(jù)庫(kù) 在工程的配置文件只配置了ck數(shù)據(jù)源配置的時(shí)候,@DS(“數(shù)據(jù)源名稱”)用在service接口上沒(méi)什么問(wèn)題。 由于新的需求

    2024年02月15日
    瀏覽(28)
  • 使用mybatis和dynamic-datasource-spring-boot-starter動(dòng)態(tài)切換數(shù)據(jù)源操作數(shù)據(jù)庫(kù)

    記錄 :415 場(chǎng)景 :使用mybatis和dynamic-datasource-spring-boot-starter動(dòng)態(tài)切換數(shù)據(jù)源操作數(shù)據(jù)庫(kù)。 版本 :JDK 1.8,Spring?Boot 2.6.3,dynamic-datasource-spring-boot-starter-3.3.2,mybatis-3.5.9。 源碼 :https://github.com/baomidou/dynamic-datasource-spring-boot-starter dynamic-datasource-spring-boot-starter :一個(gè)基于springboot的快

    2023年04月19日
    瀏覽(23)
  • 【Spring Boot】Spring Boot整合多數(shù)據(jù)源

    在實(shí)際的開(kāi)發(fā)工作中,我們經(jīng)常會(huì)遇到需要整合多個(gè)數(shù)據(jù)源的情況,比如同時(shí)連接多個(gè)數(shù)據(jù)庫(kù)、讀寫分離、跨數(shù)據(jù)庫(kù)查詢等。本文將介紹如何使用Spring Boot來(lái)實(shí)現(xiàn)多數(shù)據(jù)源的整合,對(duì)于剛剛接觸開(kāi)發(fā)的小伙伴可能有一些幫助。 在一個(gè)應(yīng)用程序中使用多個(gè)數(shù)據(jù)源意味著我們需要

    2024年02月10日
    瀏覽(28)
  • 【Spring Boot 3】【數(shù)據(jù)源】自定義JDBC多數(shù)據(jù)源

    軟件開(kāi)發(fā)是一門實(shí)踐性科學(xué),對(duì)大多數(shù)人來(lái)說(shuō),學(xué)習(xí)一種新技術(shù)不是一開(kāi)始就去深究其原理,而是先從做出一個(gè)可工作的DEMO入手。但在我個(gè)人學(xué)習(xí)和工作經(jīng)歷中,每次學(xué)習(xí)新技術(shù)總是要花費(fèi)或多或少的時(shí)間、檢索不止一篇資料才能得出一個(gè)可工作的DEMO,這占用了我大量的時(shí)

    2024年01月23日
    瀏覽(28)
  • 【Spring Boot 3】【數(shù)據(jù)源】自定義JPA多數(shù)據(jù)源

    軟件開(kāi)發(fā)是一門實(shí)踐性科學(xué),對(duì)大多數(shù)人來(lái)說(shuō),學(xué)習(xí)一種新技術(shù)不是一開(kāi)始就去深究其原理,而是先從做出一個(gè)可工作的DEMO入手。但在我個(gè)人學(xué)習(xí)和工作經(jīng)歷中,每次學(xué)習(xí)新技術(shù)總是要花費(fèi)或多或少的時(shí)間、檢索不止一篇資料才能得出一個(gè)可工作的DEMO,這占用了我大量的時(shí)

    2024年01月22日
    瀏覽(30)
  • 使用dynamic-datasource-spring-boot-starter動(dòng)態(tài)切換數(shù)據(jù)源操作數(shù)據(jù)庫(kù)(MyBatis-3.5.9)

    記錄 :383 場(chǎng)景 :使用dynamic-datasource-spring-boot-starter動(dòng)態(tài)切換數(shù)據(jù)源,使用MyBatis操作數(shù)據(jù)庫(kù)。提供三種示例:一,使用@DS注解作用到類上。二,使用@DS注解作用到方法上。三,不使用注解,使用DynamicDataSourceContextHolder類在方法內(nèi)靈活切換不同數(shù)據(jù)源。 源碼: https://github.com/

    2024年01月20日
    瀏覽(24)
  • Spring Boot 配置雙數(shù)據(jù)源

    Spring Boot 配置雙數(shù)據(jù)源

    Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive. happy for hardess to solve denpendies. 需求: 1.基本步驟 添加依賴 添加 Spring Boot 和數(shù)據(jù)庫(kù)驅(qū)動(dòng)的依賴 配置數(shù)據(jù)源 在 application.properties 或 application.yml 中分別配

    2024年01月22日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包