您的位置:首页 > 数据库

开源数据库连接池之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的一些信息:

  

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连接池中获取到了连接:

  


  以上就是我们对开源数据库连接池C3P0的整个学习和使用的过程。如果想对C3P0有更深入的理解,上面说过的文档可以是很好的学习方式。

参考博客:

http://weifly.iteye.com/blog/1227182
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: