springboot项目 如何配置多数据源
时间: 2023-09-03 11:13:27 浏览: 105
Spring-boot项目多数据源配置
要在Spring Boot项目中配置多数据源,你需要进行以下步骤:
1. 添加多个数据源相关的依赖,例如 MyBatis 或者 JDBC 等。
2. 在 `application.properties` 文件中配置每个数据源的相关属性,例如连接 URL、用户名、密码等。
3. 创建多个数据源的实例,并将其注入到需要使用的地方,例如 DAO 层或者 Service 层。
4. 在需要使用不同数据源的地方,使用 `@Qualifier` 或者 `@Primary` 注解来指定使用哪个数据源。
下面是一个简单的示例:
1. 添加依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
```
2. 在 `application.properties` 文件中配置:
```
# 数据源1
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=username1
spring.datasource.password=password1
# 数据源2
spring.datasource.secondary.url=jdbc:mysql://localhost:3306/db2
spring.datasource.secondary.username=username2
spring.datasource.secondary.password=password2
```
3. 创建多个数据源的实例:
```
@Configuration
public class DataSourceConfig {
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
```
4. 在需要使用不同数据源的地方,使用 `@Qualifier` 或者 `@Primary` 注解来指定使用哪个数据源:
```
@Repository
public class UserDao {
@Autowired
@Qualifier("primaryDataSource")
private DataSource primaryDataSource;
@Autowired
@Qualifier("secondaryDataSource")
private DataSource secondaryDataSource;
// ...
}
```
阅读全文