SpringBoot+MyBatis-Plus實現多數據源


一、介紹

dynamic-datasource-spring-boot-starter 是一個基於springboot的快速集成多數據源的啟動器。

1.dynamic-datasource-spring-boot-starter開源地址

GitHub開源地址(具體詳情可參考官方文檔):
https://github.com/baomidou/dynamic-datasource-spring-boot-starter

2.說明和應用場景

可用於主從分離、讀寫分離、分布式事務等。

二、詳細整合步驟

1.導入Maven依賴

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
    <version>2.5.4</version>
</dependency>

2.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

3.完成1、2步后,啟動應用

如果控制台不報錯且出現如下圖所示,就表示成功整合:

4.注意事項

啟動主類需要排除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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM