druid配置多个数据源
·
以下是在Druid中配置三个数据源的一般步骤:
一、引入Druid依赖(如果使用Maven等构建工具)
1. 在项目的pom.xml(对于Maven项目)中添加Druid的依赖。例如:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.11(版本根据实际需求)</version>
</dependency>
二、配置数据源(以Java配置方式为例)
1. 第一个数据源配置
- 导入必要的包:
import com.alibaba.druid.pool.DruidDataSource;
- 创建数据源对象并设置属性:
DruidDataSource dataSource1 = new DruidDataSource();
dataSource1.setDriverClassName("com.mysql.cj.jdbc.Driver");//根据实际数据库类型修改
dataSource1.setUrl("jdbc:mysql://localhost:3306/database1?characterEncoding=utf8&useSSL=false");//数据库1的连接地址
dataSource1.setUsername("user1");
dataSource1.setPassword("password1");
// 可设置其他属性,如连接池大小等
dataSource1.setInitialSize(5);
dataSource1.setMinIdle(1);
dataSource1.setMaxActive(10);
2. 第二个数据源配置
- 同样创建DruidDataSource对象:
DruidDataSource dataSource2 = new DruidDataSource();
dataSource2.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource2.setUrl("jdbc:mysql://localhost:3306/database2?characterEncoding=utf8&useSSL=false");//数据库2的连接地址
dataSource2.setUsername("user2");
dataSource2.setPassword("password2");
dataSource2.setInitialSize(5);
dataSource2.setMinIdle(1);
dataSource2.setMaxActive(10);
3. 第三个数据源配置
- 再次创建DruidDataSource对象:
DruidDataSource dataSource3 = new DruidDataSource();
dataSource3.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource3.setUrl("jdbc:mysql://localhost:3306/database3?characterEncoding=utf8&useSSL=false");//数据库3的连接地址
dataSource3.setUsername("user3");
dataSource3.setPassword("password3");
dataSource3.setInitialSize(5);
dataSource3.setMinIdle(1);
dataSource3.setMaxActive(10);
三、将数据源注册(如果在Spring框架下)
1. 如果使用Spring框架,可以将这三个数据源注册为Spring的Bean,以便在项目中使用。
- 在配置类中:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class DataSourceConfig {
@Bean
public DruidDataSource dataSource1() {
return dataSource1;
}
@Bean
public DruidDataSource dataSource2() {
return dataSource2;
}
@Bean
public DruidDataSource dataSource3() {
return dataSource3;
}
}
这只是一个基本的配置示例,实际应用中可能需要根据具体的业务需求、数据库类型、框架集成等进行更多的调整。
更多推荐

所有评论(0)