SpringBoot集成mybatis多数据源配置(HikariCP版)
SpringBoot集成mybatis使用HikariCP自定义多数据源
之前分享了SpringBoot集成mybatis使用durid自定义多数据源配置,因为spring boot的版本是1.5.9,所以采用了durid连接池进行配置,后来由于项目升级为2.+,而spring boot的2.+版本集成了Hikari作为连接池,所以研究了一下写法。
1、首先配置application.properties
spring.datasource.dynamic.master.jdbc-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test1
spring.datasource.dynamic.master.username=root
spring.datasource.dynamic.master.password=123
spring.datasource.dynamic.master.maximum-pool-size=5
spring.datasource.dynamic.slave.jdbc-url=jdbc:mysql://127.0.0.1:3306/testslave?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
spring.datasource.dynamic.slave.username=root
spring.datasource.dynamic.slave.password=123456
2、配置文件类 HikariConfig
在Spring boot 2.+的版本中,不需要配置driverClassName,会根据url来检测加载哪个driverClassName,关于连接池的一些配置,属性名可参照HikariConfig。
public class HikariConfig implements HikariConfigMXBean
{
private static final long CONNECTION_TIMEOUT = SECONDS.toMillis(30);
private static final long VALIDATION_TIMEOUT = SECONDS.toMillis(5);
private static final long IDLE_TIMEOUT = MINUTES.toMillis(10);
private static final long MAX_LIFETIME = MINUTES.toMillis(30);
private static final int DEFAULT_POOL_SIZE = 10;
private static boolean unitTest = false;
// Properties changeable at runtime through the HikariConfigMXBean
//
private volatile long connectionTimeout;
private volatile long validationTimeout;
private volatile long idleTimeout;
private volatile long leakDetectionThreshold;
private volatile long maxLifetime;
private volatile int maxPoolSize;
private volatile int minIdle;
private volatile String username;
private volatile String password;
...
}
3、配置DataSource
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties("datasource.local")
public DataSource localDataSource(){
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@Bean
@ConfigurationProperties("datasource.remote")
public DataSource remoteDataSource(){
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
}
不需要进行逐个配置,只需要将前缀配置好,就会自动加载了。
其它方式
标题:SpringBoot集成mybatis多数据源配置(HikariCP版)
作者:mmzsblog
地址:https://www.mmzsblog.cn/articles/2023/06/05/1685965906357.html
如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议!
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!