81,092
社区成员
发帖
与我相关
我的任务
分享
@Configuration
public class DataSourceConfig {
public final static String WRITE_DATASOURCE_KEY = "writeDruidDataSource";
public final static String READ_DATASOURCE_KEY = "readDruidDataSource";
@ConfigurationProperties(prefix = "spring.datasource.read")
@Bean(name = READ_DATASOURCE_KEY)
public DataSource readDruidDataSource() {
DataSource aa=DataSourceBuilder.create().build();
return aa;
}
@ConfigurationProperties(prefix = "spring.datasource.write")
@Bean(name = WRITE_DATASOURCE_KEY)
@Primary
public DataSource writeDruidDataSource() {
return DataSourceBuilder.create().build();
}
/**
* 注入AbstractRoutingDataSource
*
* @param readDruidDataSource
* @param writeDruidDataSource
* @return
* @throws Exception
*/
@Bean
public AbstractRoutingDataSource routingDataSource(
@Qualifier(READ_DATASOURCE_KEY) DataSource readDruidDataSource,
@Qualifier(WRITE_DATASOURCE_KEY) DataSource writeDruidDataSource) throws Exception {
DynamicDataSource dataSource = new DynamicDataSource();
Map<Object, Object> targetDataSources = new HashMap<Object, Object>();
targetDataSources.put(WRITE_DATASOURCE_KEY, writeDruidDataSource);
targetDataSources.put(READ_DATASOURCE_KEY, readDruidDataSource);
dataSource.setTargetDataSources(targetDataSources);// 配置数据源
dataSource.setDefaultTargetDataSource(writeDruidDataSource);// 默认为主库用于写数据
return dataSource;
}
}
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl