Skip to content

配置多数据源

  • 框架默认支持多数据源
  • 在配置文件中添加数据源配置即可
  • 以下配置添加了两个数据源 MySQL、SQL Server
yaml
spring:
  datasource:
    dynamic:
      primary: auth #设置默认的数据源
      p6spy: false
      datasource:
        auth: 
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://IP:3306/yipeng_auth?useUnicode=true&autoReconnect=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL
          username: root
          password: password
        bpm:  
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://IP:3306/yipeng_bpm?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL
          username: root
          password: password
        pay: 
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
          url: jdbc:sqlserver://IP;DatabaseName=pay
          username: root
          password: password

切换数据源

  • 默认情况下如果不指定数据源,会自动选择默认数据源进行 SQL 执行
  • 如果需要切换数据源,则需要使用 @DS("数据源名称")
  • Mapper 层添加 @DS("数据源名称")
java
@Mapper
@DS("pay") #切换数据源 表示使用UserCustomerMapper会操作pay数据库
public interface UserCustomerMapper extends BaseMapper<CustomerPO> {

}
  • Service 层可以根据实际业务需要添加 @DS 注解