配置多数据源

  • 框架默认支持多数据源
  • 在配置文件中添加数据源配置即可
  • 以下配置加了俩个mysql一个sqlserver
spring:
  datasource:
    dynamic:
      primary: auth #设置默认的数据源
      p6spy: false
      datasource:
        auth: 
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://IP:3306/kunpeng_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/kunpeng_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("数据源名称")
@Mapper
@DS("pay") #切换数据源 表示使用UserCustomerMapper会操作pay数据库
public interface UserCustomerMapper extends BaseMapper<CustomerPO> {

}     
  • service层可以加@DS 具体看实际业务