多数据源配置4
一、 正常模块配置(具体参考dt模块)
涉及到文件
- a. /system/service/config/impl/RegionServiceImpl.java
- b. /dt/controller/system/RegionController.java
- c. dt/resources/dev/application-dev.yml
- d. \dahua-b2b-dt\pom.xml
1、 引包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
2、 yml配置
a.mybatis-plus配置(注意classpath后面的*号)
mybatis-plus:
mapper-locations: classpath*:/mappers/*/*.xml
b. datasource配置(特别注意:druid配置,数据源配置里的无效,踩坑N久,虽然启用啥的都没问题,不过会报:testWhileIdle is true, validationQuery not set 异常)
datasource:
dynamic:
primary: sqlserver-sg #设置默认的数据源或者数据源组,默认值即为master
strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
datasource:
sqlserver-sg:
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://10.1.1.146:1443;DatabaseName=DHB2BPortal_PLDEV
username: b2b_sa
password: '***'
max-active: 100
initial-size: 1
max-wait: 60000
min-idle: 1
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: select 1
test-while-idle: false
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-open-prepared-statements: 50
max-pool-prepared-statement-per-connection-size: 20
sqlserver-de:
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://10.1.1.146:1443;DatabaseName=DHB2BPortal_PLUAT
username: b2b_sa
password: '***'
max-active: 100
initial-size: 1
max-wait: 60000
min-idle: 1
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: select 1
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-open-prepared-statements: 50
max-pool-prepared-statement-per-connection-size: 20
druid:
validationQuery: select 1
3、 移除MyBatisConfig
因为yml里已经配置好了,所以无需该配置重新定义
4、 设置数据源
只要使用多数据源包里的@DS注解即可,如果没有加,则使用默认数据源