一、YML配置
server:
port: ${AA.server.port:8080}
spring:
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
application:
name: dips
datasource:
dynamic:
## primary表示主数据源,不设置注解DS默认使用dips
primary: dips
strict: false
datasource:
dips:
url: jdbc:oracle:thin:@${AA.oracle.datasource.ip}:${AA.oracle.datasource.port}:${AA.oracle.datasource.server}
username: ${AA.oracle.datasource.username}
password: ${AA.oracle.datasource.password}
driver-class-name: oracle.jdbc.driver.OracleDriver
mes:
url: jdbc:oracle:thin:@${AA.oracle.mesdatasource.ip}:${AA.oracle.mesdatasource.port}/${AA.oracle.mesdatasource.server}
username: ${AA.oracle.mesdatasource.username}
password: ${AA.oracle.mesdatasource.password}
driver-class-name: oracle.jdbc.driver.OracleDriver
durid:
initial-size: 10
max-active: 500
min-idle: 10
max-wait: 60000
#是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。
pool-prepared-statements: true
keep-alive: true
max-pool-prepared-statement-per-connection-size: 100
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
#配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
#配置扩展插件:监控统计用的filter:stat 日志用的filter:log4j 防御sql注入的filter:wall
filters: stat,wall
#其它配置项
validation-query: SELECT 1 FROM DUAL
test-on-borrow: false
test-on-return: false
test-while-idle: true
# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
#是否启用StatFilter默认值true
web-stat-filter.enabled: true
web-stat-filter.url-pattern: /*
web-stat-filter.exclusions: "*.js , *.gif ,*.jpg ,*.png ,*.css ,*.ico , /druid/*"
web-stat-filter.session-stat-max-count: 1000
web-stat-filter.profile-enable: true
web-stat-filter.session-stat-enable: false
# StatViewServlet配置
#展示Druid的统计信息,StatViewServlet的用途包括:1.提供监控信息展示的html页面2.提供监控信息的JSON API
#是否启用StatViewServlet默认值true
stat-view-servlet.enabled: true
stat-view-servlet.url-pattern: /druid/*
stat-view-servlet.reset-enable: true
stat-view-servlet.login-username: admin
stat-view-servlet.login-password: 123456
二、启动类排除注解
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
三、pom文件引入
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
四、Service层使用注解@DS(“数据源名称”)
@DS(“mes”)可用在方法上,也用注解注解在一个类上。作用区域大小,则数据源区域大小不同。但设置为一个数据源后,里面包含的方法不能请求其他数据源的数据。