欢迎来到淼淼之森的博客小站。  交流请加我微信好友: studyjava。  也欢迎关注同名公众号:Java学习之道

SpringBoot集成mybatis多数据源配置(HikariCP版)

  |   0 评论   |   0 浏览

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配置多数据源,三步搞定


标题:SpringBoot集成mybatis多数据源配置(HikariCP版)
作者:mmzsblog
地址:https://www.mmzsblog.cn/articles/2023/06/05/1685965906357.html

如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议

本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。
• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!

个人微信公众号 ↓↓↓                 

微信搜一搜 Java 学习之道