Springboot 切换数据源

1.下面是数据库配置文件 pool.properties

#例外
eman.excepts=depv.,
#驱动名称
#master.dataSourceClassName=com.zaxxer.hikari.HikariDataSource
#最小连接空闲数
master.minimumIdle=5
#连接池最大连接数,包括闲置和使用中的连接
master.maximumPoolSize=100
#等待池中连接的最大毫秒数,如果在没有连接可用的情况下超过此时间,则将抛出SQLException
master.connectionTimeout=30000
#连接测试活动的最长时间,该值必须小于connectionTimeout
master.validationTimeout=2000
#测试连接(驱动程序支持JDBC4,不建议设置此属性)
#master.connectionTestQuery=SELECT 1
#池中空闲的最长时间,此设置仅在minimumIdle定义为小于时才适用maximumPoolSize(值为0表示永远不会从池中删除空闲连接.默认值:600000(10分钟))
master.idleTimeout=600000
#池中连接的最长生命周期(值0表示限寿命.默认值:1800000(30分钟))
master.maxLifetime=1800000
#驱动类
master.driverClassName=com.mysql.cj.jdbc.Driver
#连接地址{database}代表映射database值
master.jdbcUrl=jdbc:mysql://localhost:3306/{database}?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
#用户名
master.username=root
#密码,发布时支持sha加密
master.password=
#数据库名称
master.database=
#连接池的定义名称,所有连接配置必填对象
master.poolName=hikariCP-master

slave1.inherit=master
slave1.driverClassName=com.mysql.cj.jdbc.Driver
slave1.jdbcUrl=jdbc:mysql://192.168.10.37:3306/{database}?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
slave1.username=smy
slave1.password=123456
slave1.database=em
slave1.poolName=hikariCP-slave1
slave1.idleTimeout=600000
slave1.maxLifetime=1765000

2.代码里切换数据库,在事件响应层切换

    DBContextHolder.setDataSourceKey(DataSourceKey.slave1); // 切换数据库
    this.logic.writeI18ns(i18ns);
    DBContextHolder.clearDataSourceKey(); // 删除切换数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值