idea配置多資料源
- maven配置多資料支持
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
<scope>compile</scope>
</dependency>
- yml配置資料庫
spring:
datasource:
dynamic:
primary: 默認資料源
datasource:
源1:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
# 正式庫
# url: jdbc:mysql://xxx:xxx/xxx?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
username: xx
password: xx
源2:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://xxx;databaseName=xx
username: xx
password: xx
druid:
initialSize: 5 #初始化連接大小
minIdle: 5 #最小連接池數量
maxActive: 20 #最大連接池數量
maxWait: 60000 #獲取連接時最大等待時間,單位毫秒
timeBetweenEvictionRunsMillis: 60000 #配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
minEvictableIdleTimeMillis: 300000 #配置一個連接在池中最小生存的時間,單位是毫秒
validationQuery: SELECT 1 from DUAL #測驗連接
testWhileIdle: true #申請連接的時候檢測,建議配置為true,不影響性能,并且保證安全性
testOnBorrow: false #獲取連接時執行檢測,建議關閉,影響性能
testOnReturn: false #歸還連接時執行檢測,建議關閉,影響性能
poolPreparedStatements: false #是否開啟PSCache,PSCache對支持游標的資料庫性能提升巨大,oracle建議開啟,mysql下建議關閉
maxPoolPreparedStatementPerConnectionSize: 20 #開啟poolPreparedStatements后生效
# filters: stat,wall # 注意這個值和druid原生不一致,默認啟動了stat,wall
wall:
multiStatementAllow: true
connectionProperties: 'druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000' #通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
use-global-data-source-stat: true
- 啟動類
//需要排除DruidDataSourceAutoConfigure會注入一個DataSourceWrapper,
// 其會在原生的spring.datasource下找url,username,password等,而我們動態資料源的配置路徑是變化的,
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/261789.html
標籤:其他
上一篇:Redis-第九章節-動態字串
下一篇:php中反引號及雙引號中的反引號
