开源数据库连接池之C3P0
2016-03-13 20:58
253 查看
本篇介绍几种开源数据库连接池,同时重点讲述如何使用C3P0数据库连接池。
之前的博客已经重点讲述了使用数据库连接池的好处,即是将多次创建连接转变为一次创建而使用长连接模式。这样能减少数据库创建连接的消耗。正是由于数据库连接池的思想非常重要,所以市面上也有很多开源的数据库连接池供我们使用。主要有以下三个:
DBCP数据库连接池
C3P0 数据库连接池
Tomcat内置的数据库连接池(DBCP)
本篇主要讲述C3P0数据库连接池的使用,关于另外两个数据库连接池的用法请看《开源数据库连接池之DBCP》 、《开源数据库连接池之Tomcat内置连接池》 。如果我们使用这些开源的数据库连接池,我们就可以省略像前一篇博客中自己创建数据库连接池的步骤,这样会省略我们很多事。
C3P0的官网是http://sourceforge.net/projects/c3p0/?source=navbar ,比较不好找。
C3P0实现了连接池和JNDI的绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0与DBCP的区别在于DBCP没有自动回收空闲连接的功能,而C3P0却有。但是C3P0在从连接池中获取和返回连接对象的时候,采用了异步处理方式(即非线程安全,关于异步可以看这篇很好的文章/article/4963571.html )。
要想了解更多关于C3P0概念的信息,可以通过下载的C3P0的包中的【doc】目录下的index.html来查看关于C3P0的一些信息:
View Code
在控制台效果如下,我们照样从C3P0连接池中获取到了连接:
![](http://images2015.cnblogs.com/blog/787876/201603/787876-20160313205555929-1952778935.png)
以上就是我们对开源数据库连接池C3P0的整个学习和使用的过程。如果想对C3P0有更深入的理解,上面说过的文档可以是很好的学习方式。
参考博客:
http://weifly.iteye.com/blog/1227182
之前的博客已经重点讲述了使用数据库连接池的好处,即是将多次创建连接转变为一次创建而使用长连接模式。这样能减少数据库创建连接的消耗。正是由于数据库连接池的思想非常重要,所以市面上也有很多开源的数据库连接池供我们使用。主要有以下三个:
DBCP数据库连接池
C3P0 数据库连接池
Tomcat内置的数据库连接池(DBCP)
本篇主要讲述C3P0数据库连接池的使用,关于另外两个数据库连接池的用法请看《开源数据库连接池之DBCP》 、《开源数据库连接池之Tomcat内置连接池》 。如果我们使用这些开源的数据库连接池,我们就可以省略像前一篇博客中自己创建数据库连接池的步骤,这样会省略我们很多事。
C3P0的官网是http://sourceforge.net/projects/c3p0/?source=navbar ,比较不好找。
C3P0实现了连接池和JNDI的绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0与DBCP的区别在于DBCP没有自动回收空闲连接的功能,而C3P0却有。但是C3P0在从连接池中获取和返回连接对象的时候,采用了异步处理方式(即非线程安全,关于异步可以看这篇很好的文章/article/4963571.html )。
要想了解更多关于C3P0概念的信息,可以通过下载的C3P0的包中的【doc】目录下的index.html来查看关于C3P0的一些信息:
public void testConnection() throws SQLException { Connection conn = null; PreparedStatement st = null; ResultSet rs = null; try{ conn = JdbcUtils.getConnection(); System.out.println(conn); System.out.println(conn.getClass().getName()); }finally{ JdbcUtils.release(conn, st, rs); } }
View Code
在控制台效果如下,我们照样从C3P0连接池中获取到了连接:
![](http://images2015.cnblogs.com/blog/787876/201603/787876-20160313205555929-1952778935.png)
以上就是我们对开源数据库连接池C3P0的整个学习和使用的过程。如果想对C3P0有更深入的理解,上面说过的文档可以是很好的学习方式。
参考博客:
http://weifly.iteye.com/blog/1227182
相关文章推荐
- MySQL学习(数据库和表的基本操作)
- T-SQL笔记
- SQLite数据库的使用
- 开源数据库连接池之DBCP
- ganglia监控mongoDB
- python 上安装redis客户端
- 数据库连接池
- MySQL字符串函数
- 自己装mysql的问题
- 数据库设计(机房收费系统)
- 数据库事务的四大特性以及事务的隔离级别
- 【读书笔记】--SQL基础概念复习
- 经典SQL语句大全
- 在redis-cli中使用中文
- 使用JDBC进行数据库的事务操作(2)
- Redis内存管理(二)
- 解决mysql的1045错误,让别人可以远程自己的数据库
- 使用JDBC进行数据库的事务操作(1)
- nodejs使用mysql例子
- mysql urlencode 支持中文