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