一、依赖
<!-- dynamic-datasource 多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId></dependency><!--oracle驱动--><dependency><groupId>com.oracle.ojdbc</groupId><artifactId>ojdbc8</artifactId><version>19.3.0.0</version></dependency><!-- Mysql驱动包 --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>${mysql-connector-j.version}</version></dependency>
二、配置
--- # 数据源配置
spring:datasource:type: com.zaxxer.hikari.HikariDataSource# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/contentdynamic:# 性能分析插件(有性能损耗 不建议生产环境使用)p6spy: false# 设置默认的数据源或者数据源组,默认值即为 masterprimary: master# 严格模式 匹配不到数据源则报错strict: falsedatasource:# 主库数据源master:type: com.zaxxer.hikari.HikariDataSourcedriverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/lux_hra_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=trueusername: rootpassword: root# oracleslave:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: oracle.jdbc.driver.OracleDriverurl: jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = sap.baidu.com.cn)))username: ********password: *******hikari:# 最大连接池数量maxPoolSize: 20# 最小空闲线程数量minIdle: 10# 配置获取连接等待超时的时间connectionTimeout: 30000# 校验超时时间validationTimeout: 5000# 空闲连接存活最大时间,默认10分钟idleTimeout: 600000# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟maxLifetime: 1800000# 连接测试query(配置检测连接是否有效)# connectionTestQuery: SELECT 1# 多久检查一次连接的活性keepaliveTime: 30000
三、数据源选择
主数据源正常写即可、从数据源只需在mapper中加@DS注解指定从数据源名称