【Springboot】Springboot + Mybatis-plus配置多个数据源实现
在Spring Boot项目中配置多个数据源通常涉及以下步骤:
- 配置数据源属性。
- 创建数据源实例。
- 配置
SqlSessionFactory
和SqlSessionTemplate
。 - 配置事务管理器。
- 开启注解事务。
以下是一个配置多个数据源的示例代码:
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties("spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public SqlSessionFactory sqlSessionFactoryPrimary(DataSource primaryDataSource) throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(primaryDataSource);
return factoryBean.getObject();
}
@Bean
public SqlSessionFactory sqlSessionFactorySecondary(DataSource secondaryDataSource) throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(secondaryDataSource);
return factoryBean.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplatePrimary(SqlSessionFactory sqlSessionFactoryPrimary) {
return new SqlSessionTemplate(sqlSessionFactoryPrimary);
}
@Bean
public SqlSessionTemplate sqlSessionTemplateSecondary(SqlSessionFactory sqlSessionFactorySecondary) {
return new SqlSessionTemplate(sqlSessionFactorySecondary);
}
// 事务管理器和注解事务配置略...
}
在application.properties
或application.yml
中配置数据源:
spring.datasource.primary.url=jdbc:mysql://localhost:3306/primary_db
spring.datasource.primary.username=primary_user
spring.datasource.primary.password=primary_pass
spring.datasource.secondary.url=jdbc:mysql://localhost:3306/secondary_db
spring.datasource.secondary.username=secondary_user
spring.datasource.seco
评论已关闭