连接不同数据库,使用Druid数据库连接池
本文章有三篇:
第一篇:不使用数据库池连接多个数据库;
第二篇:使用数据库池连接多个数据库;
第三篇为 使用连接多个数据库后事务管理与细节;
咱们接着 第一篇 文章继续修改完善,添加使用第三方数据库池技术。
gitee源码地址:使用数据源 https://gitee.com/jack_of_disco/multiple-data-sources/tree/druid-pool
github源码地址:github使用数据源 https://github.com/Crazy-GrowUp/multiple-data-sources/tree/druid-pool
1. pom.xml导入Druid依赖
<!--阿里巴巴数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
2. 修改application.yml配置文件
spring:
application:
name:
multiple-data-sources
datasource:
mysql:
# driver-class-name: com.mysql.jdbc.Driver #可以去除,如果是特殊版本,可以自己导入
# spring中使用jdbc连接数据库时,url要写成jdbc-url
# 使用druid数据源时,要写成url
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useAffectedRows=true&allowMultiQueries=true
username: 你的账号
password: 你的密码
type: com.alibaba.druid.pool.DruidDataSource # 连接池类型
initial-size: 5 # 初始连接数
min-idle: 5 # 闲置连接数
max-active: 50 # 最大连接数
sqlserver:
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver #可以去除,如果是特殊版本,可以自己导入
url: jdbc:sqlserver://localhost:1433;databaseName=Test2;encrypt=false;trustServerCertificate=false;
username: 你的账号
password: 你的密码
type: com.alibaba.druid.pool.DruidDataSource # 连接池类型
initial-size: 5 # 初始连接数
min-idle: 5 # 闲置连接数
max-active: 50 # 最大连接数
(1)可以发现jdbc-url又变回了url,这一点需要注意;
(2)driver-class-name可以去除,Druid 自动导入了各大数据库连接库,如果需要修改为自己的连接库,记得在pom.xml中的Druid排除(exclusions)它内部导入的连接库。
3. 修改数据源加载配置java文件 DataSourceConfig.java
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Primary
@Bean
@ConfigurationProperties(prefix = "spring.datasource.mysql")
public DataSource dataSource() {
return new DruidDataSource();
}
@Bean(name = "dataSourceMs")
@ConfigurationProperties(prefix = "spring.datasource.sqlserver")
public DataSource dataSourceMs() {
return new DruidDataSource();
}
}
将 DataSource改为DruidDataSource就变成Druid数据源了。
就只需要三步就完成了,是不是很简单;快去试试吧。