springboot连接池Druid、Hikari、dbcp2配置dataSource
发布人:shili8
发布时间:2025-03-11 11:38
阅读次数:0
**Spring Boot 连接池配置**
在 Spring Boot 应用中,连接池是用于管理数据库连接的关键组件。它可以帮助我们提高应用的性能、减少资源占用以及实现数据库连接的重复利用。下面,我们将分别介绍 Druid、Hikari 和 DBCP2 三种常见的连接池配置方法。
###1. Druid 连接池配置Druid 是一个非常流行的 Java 连接池,它提供了高性能、高可用性和灵活性的特点。下面是如何在 Spring Boot 应用中使用 Druid 配置数据源:
**pom.xml**
xml<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency>
**application.properties**
propertiesspring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# Druid 配置spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.druid.initial-size=5spring.datasource.druid.min-idle=10spring.datasource.druid.max-active=20spring.datasource.druid.max-wait=60000spring.datasource.druid.time-between-eviction-runs-millis=20000spring.datasource.druid.min-evictable-idle-time-millis=180000spring.datasource.druid.validation-query-timeout=3000
**application.yml**
ymlspring: datasource: url: jdbc:mysql://localhost:3306/test username: root password:123456 driver-class-name: com.mysql.cj.jdbc.Driver# Druid 配置datasource: type: com.alibaba.druid.pool.DruidDataSource initial-size:5 min-idle:10 max-active:20 max-wait:60000 time-between-eviction-runs-millis:20000 min-evictable-idle-time-millis:180000 validation-query-timeout:3000
###2. Hikari 连接池配置Hikari 是一个非常高效的 Java 连接池,它提供了高性能、高可用性和灵活性的特点。下面是如何在 Spring Boot 应用中使用 Hikari 配置数据源:
**pom.xml**
xml<dependency> <groupId>com.zaxx</groupId> <artifactId>jdbi3-spring-boot-starter</artifactId> <version>0.9.0</version> </dependency> <!-- Hikari 配置 --> <dependency> <groupId>com.zaxx</groupId> <artifactId>hikaricp-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>
**application.properties**
propertiesspring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# Hikari 配置spring.datasource.type=com.zaxx.hikaricp.HikariDataSourcespring.datasource.hikari.initial-size=5spring.datasource.hikari.min-idle=10spring.datasource.hikari.max-active=20spring.datasource.hikari.max-wait=60000
**application.yml**
ymlspring: datasource: url: jdbc:mysql://localhost:3306/test username: root password:123456 driver-class-name: com.mysql.cj.jdbc.Driver# Hikari 配置datasource: type: com.zaxx.hikaricp.HikariDataSource initial-size:5 min-idle:10 max-active:20 max-wait:60000
###3. DBCP2 连接池配置DBCP2 是一个非常流行的 Java 连接池,它提供了高性能、高可用性和灵活性的特点。下面是如何在 Spring Boot 应用中使用 DBCP2 配置数据源:
**pom.xml**
xml<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.8.0</version> </dependency> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>2.3.4.RELEASE</version> </dependency>
**application.properties**
propertiesspring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# DBCP2 配置spring.datasource.type=org.apache.commons.dbcp2.BasicDataSourcespring.datasource.dbcp2.initial-size=5spring.datasource.dbcp2.min-idle=10spring.datasource.dbcp2.max-active=20
**application.yml**
ymlspring: datasource: url: jdbc:mysql://localhost:3306/test username: root password:123456 driver-class-name: com.mysql.cj.jdbc.Driver# DBCP2 配置datasource: type: org.apache.commons.dbcp2.BasicDataSource initial-size:5 min-idle:10 max-active:20
以上就是 Spring Boot 连接池配置的基本步骤和示例代码。根据实际需求,可以灵活调整连接池的参数来实现最佳性能和高可用性。