HikariCP连接池
作者:互联网
2026-03-24
1、为什么要使用连接池?
-
传统JDCBC手动连接管理,每次操作都创建连接,频繁创建/关闭连接消耗资源。
-
每次获取连接都要经过TCP三次握手、认证等,开销大。
-
连接池预先创建一批连接,使用时从池中获取,用完归还,避免重复创建。
-
HikariCP 的设计目标是尽可能减少开销,从而提高性能。
2、HikariCP简介
HikariCP 是目前性能最好的Java数据库连接池,是轻量级的 JDBC 连接池,旨在提供快速和高效的数据库连接管理。
3、HikariCP连接池使用(maven项目)
3.1 添加依赖pom.xml
<dependency>
<groupId>com.zaxxergroupId>
<artifactId>HikariCPartifactId>
<version>5.0.1version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.33version>
dependency>
3.2 创建HikariCP工具类
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HikariCPUtil {
public static void main(String[] args){
//1.创建HikariCP配置
HikariConfig config = new HikariConfig();
//2.配置数据库连接参数
config.setJdbcUrl("jdbc:mysql://localhost:3306/test_db");
config.setUsername("root");
config.setPassword("123456");
//3.配置连接池参数(连接池大小)
config.setMaximumPoolSize(20); // 最大连接数,默认10
config.setMinimumIdle(10); // 最小空闲连接数,默认等于maximumPoolSize
config.setConnectionTimeout(30000); // 获取连接超时时间(毫秒),默认30000(30秒)
config.setIdleTimeout(600000); // 连接空闲超时(毫秒),默认600000(10分钟)
config.setMaxLifetime(1800000); // 连接最大生命周期(毫秒),默认1800000(30分钟)
config.setConnectionTestQuery("SELECT 1"); //测试连接是否有效
//4.创建数据源
HikariDataSource dataSource = new HikariDataSource(config);
//5.获取连接并使用
try {
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT 1");
if(rs.next()){
System.out.println("连接成功!测试结果: " + rs.getInt(1));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//6.关闭连接池
dataSource.close();
}
}
}
3.3 配置文件方式
可以创建一个 hikari.properties 文件,然后在代码中加载它:
# hikari.properties
jdbcUrl=jdbc:mysql://localhost:3306/test_db
username=your_username
password=your_password
maximumPoolSize=10
minimumIdle=2
idleTimeout=30000
connectionTimeout=30000
maxLifetime=1800000
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HikariCPUtil {
public static void main(String[] args){
//1.创建HikariCP配置,并加载配置文件
HikariConfig config = new HikariConfig("path/to/hikari.properties");
//2.创建数据源
HikariDataSource dataSource = new HikariDataSource(config);
//3.获取连接并使用
try {
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT 1");
if(rs.next()){
System.out.println("连接成功!测试结果: " + rs.getInt(1));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//4.关闭连接池
dataSource.close();
}
}
}
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
阿里云大模型服务平台百炼新人免费额度如何申请?申请与使用免费额度教程及常见问题解答
04/18
办公 AI 工具 OpenClaw 部署 Windows 系统一站式教程
04/18
Qwen3.6 正式发布!阿里云百炼同步开启“AI大模型节省计划”超值优惠
04/18
【新手零难度操作 】OpenClaw 2.6.4 安装误区规避与快速使用指南(包含最新版安装包)
04/18
OpenClaw 2.6.4 可视化部署 打造个人 AI 数字员工(包含最新版安装包)
04/18
【小白友好!】OpenClaw 2.6.4 本地 AI 智能体快速搭建教程(内有安装包)
04/18
零基础部署 OpenClaw v2.6.2,Windows 系统完整教程
04/18
【适合新手的】零基础部署 OpenClaw 自动化工具教程
04/18
开发者们的第一台自主进化的“爱马仕”来了
04/18
极简部署 OpenClaw 2.6.2 本地 AI 智能体快速启用(含最新版安装包)
04/18
AI精选
