🚧 配置动态数据源配置文件
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.yongfeng.lg.springboot3jdk17.service.impl;
|
package com.yongfeng.lg.springboot3jdk17.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.yongfeng.lg.springboot3jdk17.entity.User;
|
import com.yongfeng.lg.springboot3jdk17.entity.User;
|
||||||
import com.yongfeng.lg.springboot3jdk17.mapper.UserMapper;
|
import com.yongfeng.lg.springboot3jdk17.mapper.UserMapper;
|
||||||
@@ -10,6 +11,7 @@ import org.springframework.stereotype.Service;
|
|||||||
/**
|
/**
|
||||||
* 业务层实现类,继承ServiceImpl,注入Mapper即可
|
* 业务层实现类,继承ServiceImpl,注入Mapper即可
|
||||||
*/
|
*/
|
||||||
|
@DS("test1")
|
||||||
@Service
|
@Service
|
||||||
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
|
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
|
||||||
|
|
||||||
|
|||||||
@@ -1,39 +1,75 @@
|
|||||||
# Web服务端口号
|
# Web服务端口号
|
||||||
server.port=8080
|
server.port=8080
|
||||||
# 配置数据源类型为Druid
|
|
||||||
|
# 强烈注意:Spring Boot 2.X 版本不再支持配置继承,多数据源的话每个数据源的所有配置都需要单独配置,否则配置不会生效
|
||||||
|
spring.autoconfigure.exclude=com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
|
||||||
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
|
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
|
||||||
# druid相关配置文件
|
spring.datasource.dynamic.primary=test
|
||||||
# MySQL8.x 驱动类,固定值;如果是MySQL5.7,改成 com.mysql.jdbc.Driver
|
spring.datasource.dynamic.datasource.test.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||||
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
|
spring.datasource.dynamic.datasource.test.url=jdbc:mysql://10.232.112.35:3306/springboot3-jdk17?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
|
||||||
# 数据库连接地址
|
spring.datasource.dynamic.datasource.test.username=root
|
||||||
spring.datasource.druid.url=jdbc:mysql://10.232.112.35:3306/springboot3-jdk17?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
|
spring.datasource.dynamic.datasource.test.password=-w9M627JZeYo5p^3lbH0mqDa
|
||||||
# 数据库名
|
spring.datasource.dynamic.datasource.test.initialSize=5
|
||||||
spring.datasource.druid.username=root
|
spring.datasource.dynamic.datasource.test.minIdle=5
|
||||||
# 数据库密码
|
spring.datasource.dynamic.datasource.test.maxActive=30
|
||||||
spring.datasource.druid.password=-w9M627JZeYo5p^3lbH0mqDa
|
spring.datasource.dynamic.datasource.test.maxWait=60000
|
||||||
# 初始化连接数
|
spring.datasource.dynamic.datasource.test.timeBetweenEvictionRunsMillis=60000
|
||||||
spring.datasource.druid.initial-size=5
|
spring.datasource.dynamic.datasource.test.minEvictableIdleTimeMillis=300000
|
||||||
# 最小空闲连接数
|
spring.datasource.dynamic.datasource.test.validationQuery=SELECT 'x'
|
||||||
spring.datasource.druid.min-idle=5
|
spring.datasource.dynamic.datasource.test.testWhileIdle=true
|
||||||
# 最大活跃连接数
|
spring.datasource.dynamic.datasource.test.testOnBorrow=false
|
||||||
spring.datasource.druid.max-active=20
|
spring.datasource.dynamic.datasource.test.testOnReturn=false
|
||||||
# 获取连接的最大等待时间(ms)
|
|
||||||
spring.datasource.druid.max-wait=60000
|
spring.datasource.dynamic.datasource.test1.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||||
# 检测空闲连接的间隔时间
|
spring.datasource.dynamic.datasource.test1.url=jdbc:mysql://10.232.112.35:3306/springboot3-jdk17?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
|
||||||
spring.datasource.druid.time-between-eviction-runs-millis=60000
|
spring.datasource.dynamic.datasource.test1.username=root
|
||||||
# 空闲连接的存活时间
|
spring.datasource.dynamic.datasource.test1.password=-w9M627JZeYo5p^3lbH0mqDa
|
||||||
spring.datasource.druid.min-evictable-idle-time-millis=300000
|
spring.datasource.dynamic.datasource.test1.initialSize=5
|
||||||
# 检测连接是否有效
|
spring.datasource.dynamic.datasource.test1.minIdle=5
|
||||||
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
|
spring.datasource.dynamic.datasource.test1.maxActive=30
|
||||||
# 空闲时检测连接有效性
|
spring.datasource.dynamic.datasource.test1.maxWait=60000
|
||||||
spring.datasource.druid.test-while-idle=true
|
spring.datasource.dynamic.datasource.test1.timeBetweenEvictionRunsMillis=60000
|
||||||
# 获取连接时不检测(提升性能)但是可能存在使用了废弃的会话
|
spring.datasource.dynamic.datasource.test1.minEvictableIdleTimeMillis=300000
|
||||||
spring.datasource.druid.test-on-borrow=false
|
spring.datasource.dynamic.datasource.test1.validationQuery=SELECT 'x'
|
||||||
# 归还连接时不检测(提升性能)
|
spring.datasource.dynamic.datasource.test1.testWhileIdle=true
|
||||||
spring.datasource.druid.test-on-return=false
|
spring.datasource.dynamic.datasource.test1.testOnBorrow=false
|
||||||
# 开启PSCache
|
spring.datasource.dynamic.datasource.test1.testOnReturn=false
|
||||||
spring.datasource.druid.pool-prepared-statements=true
|
|
||||||
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
|
spring.datasource.dynamic.datasource.test2.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||||
|
spring.datasource.dynamic.datasource.test2.url=jdbc:mysql://10.232.112.35:3306/springboot3-jdk17?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
|
||||||
|
spring.datasource.dynamic.datasource.test2.username=root
|
||||||
|
spring.datasource.dynamic.datasource.test2.password=-w9M627JZeYo5p^3lbH0mqDa
|
||||||
|
spring.datasource.dynamic.datasource.test2.initialSize=5
|
||||||
|
spring.datasource.dynamic.datasource.test2.minIdle=5
|
||||||
|
spring.datasource.dynamic.datasource.test2.maxActive=30
|
||||||
|
spring.datasource.dynamic.datasource.test2.maxWait=60000
|
||||||
|
spring.datasource.dynamic.datasource.test2.timeBetweenEvictionRunsMillis=60000
|
||||||
|
spring.datasource.dynamic.datasource.test2.minEvictableIdleTimeMillis=300000
|
||||||
|
spring.datasource.dynamic.datasource.test2.validationQuery=SELECT 'x'
|
||||||
|
spring.datasource.dynamic.datasource.test2.testWhileIdle=true
|
||||||
|
spring.datasource.dynamic.datasource.test2.testOnBorrow=false
|
||||||
|
spring.datasource.dynamic.datasource.test2.testOnReturn=false
|
||||||
|
|
||||||
|
# 下面的这些配置在Springboot2.x之后使用动态数据源全部都不生效了
|
||||||
|
# 参考官方文档 https://github.com/alibaba/druid/blob/master/druid-spring-boot-starter/README.md
|
||||||
|
#spring.datasource.dynamic.druid.initialSize=5
|
||||||
|
#spring.datasource.dynamic.druid.minIdle=5
|
||||||
|
#spring.datasource.dynamic.druid.maxActive=30
|
||||||
|
#spring.datasource.dynamic.druid.maxWait=60000
|
||||||
|
#spring.datasource.dynamic.druid.timeBetweenEvictionRunsMillis=60000
|
||||||
|
#spring.datasource.dynamic.druid.minEvictableIdleTimeMillis=300000
|
||||||
|
#spring.datasource.dynamic.druid.validationQuery=SELECT 'x'
|
||||||
|
#spring.datasource.dynamic.druid.testWhileIdle=true
|
||||||
|
#spring.datasource.dynamic.druid.testOnBorrow=false
|
||||||
|
#spring.datasource.dynamic.druid.testOnReturn=false
|
||||||
|
#spring.datasource.dynamic.druid.poolPreparedStatements=true
|
||||||
|
#spring.datasource.dynamic.druid.maxPoolPreparedStatementPerConnectionSize=20
|
||||||
|
#spring.datasource.dynamic.druid.filters=stat,wall,slf4j,config
|
||||||
|
#spring.datasource.dynamic.druid.useGlobalDataSourceStat=true
|
||||||
|
#spring.datasource.dynamic.druid.stat.log-slow-sql=true
|
||||||
|
#spring.datasource.dynamic.druid.stat.merge-sql=true
|
||||||
|
#spring.datasource.dynamic.druid.stat.slow-sql-millis=10000
|
||||||
|
|
||||||
|
|
||||||
# MyBatis-Plus配置文件
|
# MyBatis-Plus配置文件
|
||||||
# 配置Mapper.xml映射文件的路径
|
# 配置Mapper.xml映射文件的路径
|
||||||
|
|||||||
Reference in New Issue
Block a user