4. 一些第三方数据库连接池的介绍
Java 主流常用的数据库连接池
主流的第三方数据库连接池
在实际应用中,通常不需要我们自己编写数据库连接池,目前市面上已经有很多组织提供了数据库连接池,常见的主要有下面几个:
- C3p0
开源的,成熟的,高并发第三方数据库连接池,作者是 Steve Waldman,相关的文档资料比较完善,大名鼎鼎的 hibernate 框架就使用了 c3p0 数据库连接池。
项目地址:http://www.mchange.com/projects/c3p0/index.html - dbcp
全称是 DataBase Connection Pool,它是由 Apache 开发的一个数据库连接池,在 tomcat7 版本之前都是使用 dbcp 作为数据库连接池,不过 dbcp 性能不太好,apache 又开发了 tomcat jdbc pool 来替代 dbcp。
项目地址:http://commons.apache.org/proper/commons-dbcp/ - tomcat jdbc pool
由于 dbcp 的性能不太好,apache 又新开发了一款数据库连接池 -tomcat jdbc pool,有的地方也称之为 JDBC Connection Pool。
项目地址:http://tomcat.apache.org/tomcat-9.0-doc/jdbc-pool.html - Druid
作者是阿里巴巴的 wenshao,号称是 Java 语言中最好的数据库连接池。Druid 能够提供强大的监控和扩展功能。
项目地址:https://github.com/alibaba/druid - BoneCP
其官方说该数据库连接池性能非常棒,不过现在已经不更新了,转到了 HiKariCP 上。
项目地址:http://www.jolbox.com/ - HiKariCP
Hikari 是日语光的意思,作者可能想以此来表达 HiKariCP 速度之快。比之前的 BoneCP 性能更加强大,它官方展示了一些性能对比的数据,通过数据可以看出 HiKariCP 完虐 c3p0,dbcp,tomcat jdbc pool 等其他数据库连接池。并且它的库文件差不多就 130kb,非常轻巧。
项目地址:https://github.com/brettwooldridge/HikariCP - Proxool
早期的一些项目中使用的多一些,现在该数据库连接池源码已经有一阵子不更新了。
项目地址:http://proxool.sourceforge.net/
以上是目前市面上一些主流的数据库连接池基本是就是这些了,太多了, 通常在实际应用中会将数据库连接池和 spring 等常用框架配置在一起使用,先看下在不使用框架的前提下,该如何使用数据库连接池 。
其实用法都差不多 但是源码不一样
我们主要讲解:
1.C3p0
2.wenshao【牛人】的 Druid