您好,登錄后才能下訂單哦!
多數據源如何利用MyBatis-Plus實現?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
多數據源的目的在于一個代碼模塊可調用多個數據庫的數據進行某些業務操作。
MyBatis-Plus開發者寫了一個多數據源叫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 #設置默認的數據源,默認值為master datasource: db1: #數據源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: #數據源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步后,啟動應用
如果控制臺不報錯且出現如下圖所示,就表示成功整合:
四、注意事項
啟動主類需要排除Druid相關依賴,否則會出現如下錯誤:
***************************
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)
看完上述內容,你們掌握多數據源如何利用MyBatis-Plus實現的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。