Springboot整合Sharding jdbc读写分离配置和Demo,如果你喜欢SpringBoot的干货,可以关注我,这都是我工作中用到的技术,我会继续分享的。
项目中使用的是sharding jdbc1.5.4快照版( 1.5.3有严重bug,1.5.4快照版已经修复,但还没有发布,是自己打的包)。连接池是HikariCP,具体项目和使用的其他依赖,下面有Demo下载地址,可以下载跑跑。
此处只贴出来主要配置和配置文件,其他都是正常项目中的,不需要改动,更多见底部demo.
Sharding jdbc配置类
@Configuration
public class XbDataSource {
/**
* 主数据源 用来写入数据
*
* @return
*/
@Bean
@ConfigurationProperties("spring.datasource.master")
public DataSource masterDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
/**
* 从数据源01 用来读取数据
*
* @return
*/
@Bean
@ConfigurationProperties("spring.datasource.slave1")
public DataSource slaveDataSource_1() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
/**
* 从数据源02 用来读取数据
*
* @return
*/
@Bean
@ConfigurationProperties("spring.datasource.slave2")
public DataSource slaveDataSource_2() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@Bean
@Primary //该注解表示在同一个接口有多个实现类可以注入的时候,默认选择哪一个,而不是让@autowire注解报错
@DependsOn({"masterDataSource