使用dynamic-datasource-spring-boot-starter配置多數據源


1、依賴

    
        org.springframework.boot
        spring-boot-starter-jdbc
    
     
        mysql
        mysql-connector-java
        5.1.48
    

    
    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        2.1.1
    

    
    
        com.baomidou
        dynamic-datasource-spring-boot-starter
        2.5.7
    
    
    
        org.springframework.boot
        spring-boot-actuator
    

2、yml文件配置

spring:
  datasource: 
    # dynamic-datasource-spring-boot-starter 動態數據源的配置內容
    dynamic:
      primary: users # 設置默認的數據源或者數據源組,默認值即為 master
      datasource:
        # 訂單 orders 數據源配置
        orders:
          url: jdbc:mysql://127.0.0.1:3306/test_orders?useSSL=false&useUnicode=true&characterEncoding=UTF-8
          driver-class-name: com.mysql.jdbc.Driver
          username: root
          password:
        # 用戶 users 數據源配置
        users:
          url: jdbc:mysql://127.0.0.1:3306/test_users?useSSL=false&useUnicode=true&characterEncoding=UTF-8
          driver-class-name: com.mysql.jdbc.Driver
          username: root
          password:

3、DBConstants

public class DBConstants {

    /**
     * 數據源分組 - 訂單庫
     */
    public static final String DATASOURCE_ORDERS = "orders";

    /**
     * 數據源分組 - 用戶庫
     */
    public static final String DATASOURCE_USERS = "users";

}

4、使用

	@Transactional
    @DS(DBConstants.DATASOURCE_USERS)
    public void method042() {
        UserDO user = userMapper.selectById(1);
        System.out.println(user);
    }

    @Transactional
    @DS(DBConstants.DATASOURCE_ORDERS)
    public void method05() {
        // 查詢訂單
        OrderDO order = orderMapper.selectById(1);
        System.out.println(order);
        // 查詢用戶
        self().method052();
    }

 


免責聲明!

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



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