Java 配置多数据源

832 阅读1分钟

@DS() 注解能干嘛

可以在类或方法上面来'切换'数据源

@DS()使用

@DS(value = "数据源名称")

配置数据源

server:
  port: 端口
spring:
  datasource:
    dynamic:
      primary: 主数据源
      datasource:
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          username: ****
          password: ****
          url: jdbc:mysql://********/****
        secondary: // 副数据源
          driver-class-name: com.mysql.cj.jdbc.Driver
          username: ****
          password: ****
          url: jdbc:mysql://********/****
  jackson:
    default-property-inclusion: NON_NULL
  profiles:
    active: dev

@DS()实际使用

@Transactional
@Service
@DS("master") // 默认是读取主数据源数据 不需要使用 @DS 
public class protServiceImpl implements protService {

    // 使用副数据源的方法
    @Override
    @DS("secondary")
    public void getProfit() {
     
    }
    
    // 默认是读取主数据源数据 不需要填写
    @Override
    public void getProfit() {
         
    }
}