多数据源如何配置druid
时间: 2023-09-05 18:13:21 浏览: 93
在 Druid 中,可以通过配置多个数据源实现在一个应用程序中访问多个数据库。以下是配置多个数据源的步骤:
1. 首先,在 pom.xml 文件中添加 Druid 的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
```
2. 在 Spring 配置文件中,配置多个数据源。可以使用 @Configuration 和 @Bean 注解来创建数据源。
```java
@Configuration
public class DataSourceConfig {
@Bean(name = "dataSource1")
@ConfigurationProperties(prefix = "spring.datasource.ds1")
public DataSource dataSource1() {
return DruidDataSourceBuilder.create().build();
}
@Bean(name = "dataSource2")
@ConfigurationProperties(prefix = "spring.datasource.ds2")
public DataSource dataSource2() {
return DruidDataSourceBuilder.create().build();
}
// other data sources if needed
}
```
在上述示例中,我们创建了两个数据源,dataSource1 和 dataSource2。可以根据需要创建更多的数据源。
3. 在 application.properties 或 application.yml 文件中,配置数据源的属性。每个数据源都应该有一个唯一的前缀,以区分不同的数据源。
```properties
# datasource 1
spring.datasource.ds1.url=jdbc:mysql://localhost:3306/db1
spring.datasource.ds1.username=user1
spring.datasource.ds1.password=pass1
# datasource 2
spring.datasource.ds2.url=jdbc:mysql://localhost:3306/db2
spring.datasource.ds2.username=user2
spring.datasource.ds2.password=pass2
```
在上述示例中,我们为 dataSource1 和 dataSource2 配置了不同的 url、username 和 password。
4. 在需要使用数据源的地方,使用 @Qualifier 注解指定要使用的数据源。例如,在 DAO 类中:
```java
@Repository
public class MyDao {
@Autowired
@Qualifier("dataSource1")
private DataSource dataSource1;
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource2;
// other data sources if needed
// use dataSource1 or dataSource2 to execute SQL statements
}
```
在上述示例中,我们使用 @Qualifier 注解指定要使用的数据源。可以根据需要使用不同的数据源。
通过以上步骤,就可以在一个应用程序中访问多个数据库了。
阅读全文