MyBatis-Plus實(shí)現(xiàn)多數(shù)據(jù)源的示例代碼
多數(shù)據(jù)源的目的在于一個代碼模塊可調(diào)用多個數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行某些業(yè)務(wù)操作。
MyBatis-Plus開發(fā)者寫了一個多數(shù)據(jù)源叫dynamic-datasource-spring-boot-starter ,非常簡單易用。
dynamic-datasource-spring-boot-starter文檔
官方文檔部分截圖:

第三方集成的,基本上是目前比較主流的(用的比較多)。
一、添加Maven依賴
<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.4</version> </dependency>
二、配置文件修改(application.yml)
spring:
datasource:
dynamic:
primary: db1 #設(shè)置默認(rèn)的數(shù)據(jù)源,默認(rèn)值為master
datasource:
db1: #數(shù)據(jù)源db1
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/wordpress_master?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
db2: #數(shù)據(jù)源db2
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/wordpress_slave?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
#Oracle需要打開注釋
#validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/*
#login-username: admin
#login-password: admin
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: false
wall:
config:
multi-statement-allow: true
三、完成成1、2步后,啟動應(yīng)用
如果控制臺不報錯且出現(xiàn)如下圖所示,就表示成功整合:

四、注意事項(xiàng)
啟動主類需要排除Druid相關(guān)依賴,否則會出現(xiàn)如下錯誤:
***************************
APPLICATION FAILED TO START
***************************Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
解決辦法,加上如下代碼即可:
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
到此這篇關(guān)于MyBatis-Plus實(shí)現(xiàn)多數(shù)據(jù)源的示例代碼的文章就介紹到這了,更多相關(guān)MyBatis-Plus 多數(shù)據(jù)源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Seata集成Mybatis-Plus解決多數(shù)據(jù)源事務(wù)問題
- MyBatis-Plus與Druid結(jié)合Dynamic-datasource實(shí)現(xiàn)多數(shù)據(jù)源操作數(shù)據(jù)庫的示例
- SpringBoot整合Mybatis-Plus+Druid實(shí)現(xiàn)多數(shù)據(jù)源配置功能
- Mybatis-plus多數(shù)據(jù)源配置的兩種方式總結(jié)
- MyBatis-Plus 集成動態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例
- Mybatis-Plus的多數(shù)據(jù)源你了解嗎
- Mybatis-Plus進(jìn)階分頁與樂觀鎖插件及通用枚舉和多數(shù)據(jù)源詳解
- Spring Boot + Mybatis-Plus實(shí)現(xiàn)多數(shù)據(jù)源的方法
- MyBatis-Plus多數(shù)據(jù)源的示例代碼
相關(guān)文章
詳解Java的Struts框架以及相關(guān)的MVC設(shè)計理念
這篇文章主要介紹了詳解Java的Struts框架以及相關(guān)的MVC設(shè)計理念,Struts是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12
Java開發(fā)中POJO和JSON互轉(zhuǎn)時如何忽略隱藏字段的問題
這篇文章主要介紹了Java開發(fā)中POJO和JSON互轉(zhuǎn)時如何忽略隱藏字段的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
解決使用redisTemplate高并發(fā)下連接池滿的問題
這篇文章主要介紹了解決使用redisTemplate高并發(fā)下連接池滿的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
springboot打成jar后獲取classpath下文件失敗的解決方案
這篇文章主要介紹了使用springboot打成jar后獲取classpath下文件失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Spring定時任務(wù)輪詢本地數(shù)據(jù)庫實(shí)現(xiàn)過程解析
這篇文章主要介紹了Spring定時任務(wù)輪詢本地數(shù)據(jù)庫實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01
Java返回文件時為圖片或pdf等設(shè)置在線預(yù)覽或下載功能
這篇文章主要介紹了Java返回文件時為圖片或pdf等設(shè)置在線預(yù)覽或下載功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
Springboot如何實(shí)現(xiàn)Web系統(tǒng)License授權(quán)認(rèn)證
這篇文章主要介紹了Springboot如何實(shí)現(xiàn)Web系統(tǒng)License授權(quán)認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05

