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