Mybatis(拦截器实现)通用mapper及全ORM实现(五)-- springboot+mybatis多数据源设置

本文介绍了如何在SpringBoot项目中实现Mybatis的多数据源配置,特别是主从分离场景。文章详细讲解了如何定义数据源、枚举类以及动态数据源的设置,同时强调了在配置SqlSessionFactory时手动设置拦截器的重要性。此外,还提供了一个基于@DataSource注解的切片定义,用于动态切换数据源。文章最后提及了源代码的下载选项。

本篇实际上和mybatisext项目并没有太大关系了,但在实际项目中脱离不开多个数据源,尤其是主从分离,同样网上一些资料大同小异而且大部分并不能真正解决问题,所以单独提出来说一下

假设我们就是要解决一个主从分离,数据源定义在了application.properties中如下:

datasources.master.driverClassName=com.mysql.cj.jdbc.Driver
datasources.master.url=xxx
datasources.master.username=xxx
datasources.master.password=xxx
datasources.master.type=com.alibaba.druid.pool.DruidDataSource
datasources.master.filters=stat
datasources.master.maxActive= 20
datasources.master.initialSize= 1
datasources.master.maxWait= 60000
datasources.master.minIdle =1
datasources.master.timeBetweenEvictionRunsMillis= 60000
datasources.master.minEvictableIdleTimeMillis=300000
datasources.master.validationQuery= select 'x'
datasources.master.testWhileIdle= true
datasources.master.testOnBorrow=false
datasources.master.testOnReturn= false
datasources.master.poolPreparedStatements=true
datasources.master.maxOpenPreparedStatements= 20

datasources.slave.driverClassName=com.mysql.cj.jdbc.Driver
datasources.slave.url=xxx
datasources.slave.username=xxx
datasources.slave.password=xxx
datasources.slave.type=com.alibaba.druid.pool.DruidDataSource
datasources.slave.filters=stat
datasources.slave.maxActive= 20
datasources.slave.initialSize= 1
datasources.slave.maxWait= 60000
datasources.slave.minIdle =1
datasources.slave.timeBetweenEvictionRunsMillis= 60000
datasources.slave.minEvictableIdleTimeMillis=300000
datasources.slave.validationQuery= select 'x'
datasources.slave.testWhileIdle= true
datasources.slave.testOnBorrow=false
datasources.slave.testOnReturn= false
datasources.slave.poolPreparedStatements=true
datasources.slave.maxOp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值