springboot多数据源示例
时间: 2023-10-12 16:09:43 浏览: 109
好的,下面为您提供一个基于SpringBoot的多数据源示例。
1. 在pom.xml中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
```
2. 在application.yml配置文件中添加数据源配置信息,例如:
```
spring:
datasource:
master:
url: jdbc:mysql://ip:port/db1
username: username
password: password
slave:
url: jdbc:mysql://ip:port/db2
username: username
password: password
```
3. 新建两个数据源实例:
```
@Configuration
public class DataSourceConfig {
@Bean(name = "masterDataSource")
@Qualifier("masterDataSource")
@ConfigurationProperties(prefix = "spring.datasource.master")
public DataSource masterDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean(name = "slaveDataSource")
@Qualifier("slaveDataSource")
@ConfigurationProperties(prefix = "spring.datasource.slave")
public DataSource slaveDataSource() {
return DruidDataSourceBuilder.create().build();
}
}
```
4. 在数据源实例中选择一个作为主数据源,例如:
```
@Configuration
public class JdbcTemplateConfig {
@Bean(name = "masterTemplate")
public JdbcTemplate masterTemplate(@Qualifier("masterDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
@Bean(name="slaveTemplate")
public JdbcTemplate slaveTemplate(@Qualifier("slaveDataSource") DataSource dataSource){
return new JdbcTemplate(dataSource);
}
@Bean(name="mysqlJdbcTemplate")
@Primary
public JdbcTemplate jdbcTemplate(@Qualifier("masterTemplate") JdbcTemplate jdbcTemplate){
return jdbcTemplate;
}
}
```
以上就是一个基于SpringBoot的多数据源示例。希望对您有所帮助。
阅读全文