1.导包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
配置数据库连接池
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.9</version>
</dependency>
注:若是druid版本与dynamic-datasource不匹配可能导致错误,尽量使用较高版本
2.application配置
spring:
datasource:
dynamic:
primary: clinic //配置主数据源
strict: false
datasource:
clinic:
url: jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
username: XX
password: XXXXX
driver-class-name: com.mysql.cj.jdbc.Driver
base:
url: jdbc:sqlserver://localhost:1433;DatabaseName=XXX
username: XX
password: XXXXX
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
sqlserver: //SQL server数据源配置,名字任意
url: jdbc:sqlserver://localhost:1433;DatabaseName=XXX
username: XX
password: XXXXX
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid:
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 60000
3.使用
在相应的service或方法上使用**@DS("数据源")**即可,如
@DS("clinic")
@Override
public boolean hasExist(String sid) {
PatientInfo patientInfo = mBaseCustomerScardMapper.findBySid(sid);
if (patientInfo == null){
return false;
}
return true;
}