spring druid配置多个数据库
时间: 2023-05-15 15:03:25 浏览: 127
在使用Spring框架进行Web开发时,我们经常会用到Druid连接池作为数据库连接池。有时我们需要同时连接多个数据库,那么如何在Druid中配置多个数据库呢?
首先,我们需要在application.properties或application.yml配置文件中添加多个数据库连接信息,如下所示:
```properties
# 第一个数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/test1
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 第二个数据库连接
spring.datasource.test2.url=jdbc:mysql://localhost:3306/test2
spring.datasource.test2.username=root
spring.datasource.test2.password=123456
spring.datasource.test2.driver-class-name=com.mysql.jdbc.Driver
```
其中,第一个数据库连接的配置信息是默认的,而第二个数据库连接的配置信息前缀为`test2`。这样,我们就成功配置了两个不同的数据库连接。
接下来,我们需要在Druid配置类中进行对应的配置。假设我们的Druid配置类名为`DruidConfig`,那么我们可以在该类中添加下面的两个`@Bean`注解:
```java
@Configuration
public class DruidConfig {
// 第一个数据库连接
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DruidDataSourceBuilder.create().build();
}
// 第二个数据库连接
@Bean(name = "test2DataSource")
@ConfigurationProperties(prefix = "spring.datasource.test2")
public DataSource test2DataSource() {
return DruidDataSourceBuilder.create().build();
}
}
```
其中,`@Bean`注解的`name`属性分别对应两个连接的名字,而`@ConfigurationProperties`注解的`prefix`属性则分别对应配置文件中的前缀。
最后,在需要使用的地方,我们可以通过`@Qualifier`注解来指定需要使用哪个数据库连接:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
@Qualifier("dataSource")
private DataSource dataSource;
@Autowired
@Qualifier("test2DataSource")
private DataSource test2DataSource;
// ...
}
```
通过以上步骤,我们就成功地在Druid中配置了多个数据库连接。这样,我们就可以方便地同时访问多个不同的数据库了。
阅读全文