@DS注解的使用,動態(tài)數(shù)據(jù)源,事務(wù)詳解
@DS注解的使用,動態(tài)數(shù)據(jù)源,事務(wù)
有時,在一個項目中會用到多數(shù)據(jù)源,
此時可以使用苞米豆的dynamic-datasource-spring-boot-starter
首先,引入jar包
<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.4</version> </dependency>
在Springboot的application.yml中進(jìn)行配置
spring: datasource: url: jdbc:mysql://localhost:3306/test2?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8 driver-class-name: com.mysql.cj.jdbc.Driver username: root password: root dynamic: primary: master datasource: master: url: jdbc:mysql://localhost:3306/test2?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8 driver-class-name: com.mysql.cj.jdbc.Driver username: root password: root sub: url: jdbc:mysql://localhost:3306/test2?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8 driver-class-name: com.mysql.cj.jdbc.Driver username: root1 password: root1
其中配置了兩個數(shù)據(jù)源,master
與sub
,其中選擇master
作為默認(rèn)數(shù)據(jù)源(對應(yīng)primary
配置);
若想使用sub
作為部分代碼的數(shù)據(jù)源,可在ServiceImpl
做如下配置:
在使用@DS注解時
有如下注意事項:
- 不能使用事務(wù),否則數(shù)據(jù)源不會切換,使用的還是第一次加載的數(shù)據(jù)源;
- 第一次加載數(shù)據(jù)源之后,第二次、第三次…操作其它數(shù)據(jù)源,如果數(shù)據(jù)源不存在,使用的還是第一次加載的數(shù)據(jù)源;
- 數(shù)據(jù)源名稱不要包含下劃線,否則不能切換。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot定制@ResponseBody注解返回的Json格式
這篇文章主要介紹了詳解SpringBoot定制@ResponseBody注解返回的Json格式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11java如何更改數(shù)據(jù)庫中的數(shù)據(jù)
這篇文章主要介紹了java如何更改數(shù)據(jù)庫中的數(shù)據(jù),修改數(shù)據(jù)庫是數(shù)據(jù)庫操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改數(shù)據(jù)表中的數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2021-11-11SpringMVC 使用JSR-303進(jìn)行校驗 @Valid示例
本篇文章主要介紹了SpringMVC 使用JSR-303進(jìn)行校驗 @Valid示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Java使用FastExcel導(dǎo)入支持多種時間格式
FastExcel 是一個采用純 java 開發(fā)的 excel 文件讀寫組件,支持 Excel'97(-2003)(BIFF8)文件格式,本文主要介紹了如何使用FastExcel導(dǎo)入支持多種時間格式,感興趣的可以了解2024-12-12