JDBC进阶之连接池的配置(Druid与HikariCP)

在我们前面的JDBC与数据库的连接中,每次操作都要用connection对象重新获取连接,用完之后再释放,但频繁的创建和销毁会造成资源的浪费,并且只连接一个对象。那么实际应用中,对于服务器来说压力非常大,于是我们用连接池来进行连接。

今天我们就来用两款比较常用的连接池,Druid与HikariCP。

特性 HikariCP Druid (阿里巴巴)
核心定位 极致性能的纯连接池 功能全面的数据库连接池与监控平台
性能 业界标杆,极致快 性能优秀,但与HikariCP在极限场景下有微小差距
功能特性 专注、核心:连接池生命周期管理、合理的默认配置 全面、强大 :连接池、SQL监控、防火墙、SQL解析、慢查询日志、Spring集成
监控与运维 基础:通过JMX暴露少量指标,需自行集成监控系统 强大、开箱即用 :提供内置的监控页面,详细的统计信息(SQL执行次数、时间、慢SQL、连接池状态等)
易用性 非常简单:配置少,依赖小,"默认即合理" 相对复杂:功能多,配置项也多,需要一定学习成本
社区与生态 非常活跃,是 Spring Boot 2.x 及以上的默认连接池 非常活跃,阿里巴巴开源,在国内有广泛应用和丰富的文档
轻量级 非常轻量,代码精炼,Jar包小 相对较重,因为集成了大量功能
适用场景 微服务、云原生、高性能Web应用,追求极致性能和简洁 企业级应用、需要详细监控和SQL分析的场景,对运维监控要求高

1.Druid示例

下载druid的jar包

官网下载路径如下:

Central Repository: com/alibaba/druid

1.硬编码

复制代码
硬编码:将连接池的配置信息与JAVA代码耦合在一起但不利于维护。

2.软编码

在项目目录下创建resource文件夹,创建db.properties配置文件,将连接信息定义在该文件中。

2.Hikari示例

这里需要两个包:Hikari jar 包和slf4 jar包(日志文件)

HikariCP官网下载路径如下:

Central Repository: org/slf4j/slf4j-api

Central Repository: com/zaxxer/HikariCP

1.硬编码

2.软编码

编写配置文件。

相关推荐
瀚高PG实验室5 分钟前
HAC 集群主节点状态在starting、running之间频繁切换
运维·数据库·postgresql·瀚高数据库
wuyk5559 分钟前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
geovindu9 分钟前
CSharp: Wordcloud
开发语言·后端·c#·.net·.netcore·词云
其实防守也摸鱼10 分钟前
教育信息技术应用创新---基础软件信息赛
运维·服务器·数据库·github·copilot
GG-_-Bond10 分钟前
9.1-kv存储持久化的设计
数据库
苏生Susheng19 分钟前
【软件实施】Windows 服务器运维实战
java·运维·服务器·windows·spring boot·javaweb·实施
Java小白笔记26 分钟前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip
Persistent的粽子!27 分钟前
C++:类与对象(一)
开发语言·c++·经验分享·笔记
Gauss松鼠会34 分钟前
【GaussDB】GaussDB 组件、节点和AZ故障仲裁与切换流程
运维·服务器·数据库·gaussdb
weixin_440730501 小时前
使用pytest中方法控制执行步骤(test_begin.py、test_end.py,@pytest.mark.run(order=1))
开发语言·python·pytest