1. 程式人生 > >druid鏈接不同數據源

druid鏈接不同數據源

切換 tps classname project config als serve tro pool

使用若依後臺管理,集成自主業務,後臺管理庫是mysql,業務庫是sqlserver;具體配置如下;

1.pom 加入sqlserver配置

1 <dependency>
2             <groupId>com.microsoft.sqlserver</groupId>
3             <artifactId>sqljdbc4</artifactId>
4             <version>4.0</version>
5         </dependency>

2.application-druid.yml配置

*註意鏈接不同數據庫使用不同驅動

# 數據源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
            # 主庫數據源
            master:
                url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true
                username: root
                password: wuhailong123
                driverClassName: com.mysql.jdbc.Driver
# 從庫數據源 slave: # 從數據源開關/默認關閉 enabled: true url: jdbc:sqlserver://192.168.2.11\HJCDR;DatabaseName=HJ.DEV.PDP.TEST username: sa password: rjgcb2.60 driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# 初始連接數 initial-size: 10 # 最大連接池數量 max-active: 100 # 最小連接池數量 min-idle: 10 # 配置獲取連接等待超時的時間 max-wait: 60000 # 打開PSCache,並且指定每個連接上PSCache的大小 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一個連接在池中最小生存的時間,單位是毫秒 min-evictable-idle-time-millis: 300000 validation-query: SELECT 1 FROM DUAL test-while-idle: true test-on-borrow: false test-on-return: false stat-view-servlet: enabled: true url-pattern: /monitor/druid/* filter: stat: log-slow-sql: true slow-sql-millis: 1000 merge-sql: false wall: config: multi-statement-allow: true

3.業務代碼中切換不同數據源

1  @Override
2     public List<Project> findAll() {
3         DynamicDataSourceContextHolder.setDateSoureType("SLAVE");
4         return projectMapper.selectProjectList(null);
5     }

druid鏈接不同數據源