http://commons.apache.org/proper/commons-dbcp/
http://commons.apache.org/components.html
java 开源数据库连接池: http://www.open-open.com/20.htm
http://blog.csdn.net/zllsdn/article/details/1398577
#连接设置
#sqlserver 2008
driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://172.17.16.44:1433;DatabaseName=danone_cat
username=sa
password=Sa123456
#url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=danone_cat
#username=sa
#password=suzsoftjerry
#mysql
#driverClassName=com.mysql.jdbc.Driver
#url=jdbc:mysql://localhost:3306/danone
#username=root
#password=admin
#检查连接有效性的SQL语句
validationQuery=select 1
validationQueryTimeout=20
#初始化连接
initialSize=10
#最大连接数量
maxActive=20
#最大空闲连接
maxIdle=20
#最小空闲连接
minIdle=10
#超时等待时间以毫秒为单位 6000毫秒/1000等于60秒
maxWait=60000
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8
#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=
#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=READ_COMMITTED
#回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。
dataBase.removeAbandoned=true
# 数据库连接过多长时间不用将被视为被遗弃而收回连接池中。
dataBase.removeAbandonedTimeout=60
# 将被遗弃的数据库连接的回收记入日志。
dataBase.logAbandoned=false
package com.danone.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import java.util.UUID; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; public class JdbcUtil { private InputStream inStream; private static Properties pro = null; private DataSource datasource; public static JdbcUtil instance; private JdbcUtil() { inStream = this.getClass().getResourceAsStream("/jdbc.properties"); pro = new Properties(); try { pro.load(inStream); datasource = BasicDataSourceFactory.createDataSource(pro); inStream.close(); } catch (Exception e) { e.printStackTrace(); } } public static JdbcUtil getJdbcUtil() { if (instance == null) { synchronized (JdbcUtil.class) { if (instance == null) { try { instance = new JdbcUtil(); } catch (Exception e) { e.printStackTrace(); } } } } return instance; } public Connection getConnection() { try { return datasource.getConnection(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException("获取数据库连接失败!"); } } public void free(ResultSet rs, Statement sta, Connection conn) { try { if (rs != null) { rs.close(); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (sta != null) { sta.close(); } } catch (Exception e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } public static String getUUID() { String id = UUID.randomUUID().toString(); // 去掉“-”符号 return id.replaceAll("-", ""); } public static void main(String[] args) throws SQLException { Connection connection = JdbcUtil.getJdbcUtil().getConnection(); if (connection != null) { connection.close(); } System.out.println("连接成功"); } }
四个流行的Java连接池
C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:http://sourceforge.net/projects/c3p0/)
BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4j和Google Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/)
DBCP (Database Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。(主页:http://commons.apache.org/dbcp/)
Proxool是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。(主页:http://proxool.sourceforge.net/)
相关推荐
commons中的DBCP连接池jar,用于利用dbcp链接数据库
用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections * commons-dbcp2 * commons-logging * commons-pool2 * mysql-connector
包含两种连接池jar包:c3p0-0.9.1.jar和commons-collections4-4.1.jar、commons-dbcp2-2.1.1.jar、commons-logging-1.2.jar、commons-pool2-2.4.2.jar和dbcp与c3p0详细配置文档
dbcp连接池所需jar(commons-collections-3.1.jar,commons-dbcp-1.2.jar,commons-pool-1.6.)
里面包含了commons-collections-3.1.jar commons-dbcp-1.2.2.jar commons-pool.jar ojdbc6.jar commons-dbcp-1.2.2 连接池的实现 commons-pool 连接池的依赖库 ojdbc6 orcale数据库驱动 到手即用
DBCP连接池的jar包包括两个 commons-dbcp.jar和commons-pool.jar
dbcp连接池jar,其中有commons-dbcp-1.2.2.jar,commons-pool-1.3.jar
用于实现DBCP连接池所用的JAR依赖...用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections * commons-dbcp2 * commons-logging * commons-pool2 * mysql-connector
单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请...
dbcp连接池jar, commons-dbcp2-2.4.0.jar commons-logging-1.2.jar commons-pool2-2.6.1.jar
DBCP数据库连接池的完整jar包
dbcp连接池的JAR commons-dbcp提供给开发者一个可用的数据库连接池,顾名思义commons-dbcp缓存了很多数据库的连接。难么这个缓存的功能是在dbcp中实现的吗?不是的,其实dbcp中的数据库的缓存的功能是有commons-...
包含commons-dbcp-1.4.jar,commons-dbutils-1.6.jar,commons-pool-1.5.6.jar三个jar包
DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4。 DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 JDBC 3。 DBCP 1.4 版本需要运行于 JDK 1.6 ,支持 JDBC 4。 1.3和1.4基于...
Apache Commons DBCP 软件实现数据库连接池
DBCP(DataBase Connection Pool)是 apache common上的一个 java 连接池项目,也是 tomcat 使用的连接池组件,依赖 于Jakarta commons-pool 对象池机制,DBCP可以直接的在应用程序中使用。 使用DBCP会用到commons-...
单独使用DBCP需要导入三个dbcp相关jar包,commons-dbcp-1.4.jar,commons-collections-3.2.1.jar,commons-pool-1.5.4jar
DBCP连接池所需的3个jar文件,commons-dbcp-1.4.jar,commons-collections-3.2.1.jar,commons-pool-1.5.6.jar
包括commons-collection.jar,commons-dbcp.jar,commons-pool.jar