反正是工具类,直接上代码吧。复制一下就可以用了
package com.my.datasource;
//配置文件放在src目录下
//需要三个包:1. commons-collections-3.1.jar 2.commons-pool.jar 3.commons-dbcp-1.2.2.jar
//DataSource是javax.sql.DataSource下的包
//配置大致配 url,driver,username,password就可以使用了,配置根据需要,或者运行时的异常进行修改
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class JdbcUtilities {
private static DataSource mydatasource;
JdbcUtilities(){
}
static{
try {
Properties prop = new Properties();
InputStream is = JdbcUtilities.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
prop.load(is);
mydatasource = BasicDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
e.printStackTrace();
throw new ExceptionInInitializerError("数据源初始化错误");
}
}
public static Connection getConnection() throws SQLException{
return mydatasource.getConnection();
}
public static DataSource getMydatasource() {
return mydatasource;
}
}
还一个是配置文件,配置文件对于修改比较方便,代码分离了嘛.dbcpconifg.properties
#连接设置
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=system
password=root
#<!-- 初始化连接 -->
initialSize=10
#最大连接数量
maxActive=50
#<!-- 最大空闲连接 -->
maxIdle=20
#<!-- 最小空闲连接 -->
minIdle=5
#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 -->
maxWait=60000
#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=gbk
#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=
#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=SERIALIZABLE
分享到:
相关推荐
《Mycat DBCP 使用手册详解》 Mycat 是一款开源的分布式数据库中间件,主要用于处理大数据处理和MySQL集群。在Mycat中,DBCP(Database Connection Pool)作为连接池管理工具,扮演着关键角色,它能有效地管理和...
DBCP通过维护一个连接池,可以在应用程序需要时快速提供已建立的数据库连接,用完后则将连接返回到池中,供其他线程重复使用,从而显著提高了数据库操作的效率。DBCP是Apache Commons项目的一部分,与Apache的其他...
它提供了一套对象池化的API,DBCP使用这个库来管理数据库连接的生命周期,包括创建、分配、回收和销毁。PoolableConnection是DBCP中的一个关键类,它实现了池化连接的逻辑,与PoolableConnectionFactory配合工作,...
- `commons-collections-3.2.1.jar`:这是Apache Commons Collections库,提供了各种集合操作的工具类,DBCP使用它来辅助管理和维护连接池。 - `commons-dbcp-1.4.jar`:这是DBCP的主要库文件,包含了DBCP连接池的...
- `commons-pool.jar`:这个库是Apache Commons的通用对象池,DBCP使用它来实现数据库连接的池化管理。对象池允许你复用已经创建的对象,避免频繁地创建和销毁对象带来的性能损失。 2. **配置文件**: DBCP的配置...
2. **连接工厂**:DBCP使用`PoolableConnectionFactory`来创建和管理池化的数据库连接。这个类负责将数据库的物理连接转换为池化的连接,同时提供了连接的验证和回收机制。 3. **池化对象**:`PoolableConnection`...
**DBCP使用步骤** 1. **引入依赖**:在项目中添加DBCP的jar包依赖。 2. **配置连接池**:通过XML或Java代码设置DBCP的配置属性,如数据库URL、用户名、密码、最大/最小连接数等。 3. **初始化连接池**:创建...
- **GenericObjectPool**:一个通用的对象池,DBCP使用它来存储和管理PoolableConnection对象。 3. **配置DBCP**: 在使用DBCP之前,需要配置相关参数,如最大活跃连接数、最小空闲连接数、超时时间等。这通常...
本示例将简要介绍DBCP连接池的使用方法,以及如何将其集成到Java应用中。 首先,我们需要在项目中引入DBCP的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>commons-dbcp ...
3. **Apache Commons Pool**:DBCP使用Commons Pool来实现连接对象的池化,确保高效的资源分配和回收。 4. **Apache Commons Collections**:这个库提供了一些高级数据结构和算法,如双向映射、集合排序、集合转换...
DBCP使用它来实现数据库连接的池化管理,通过对象池技术有效地复用数据库连接,提高系统的效率和稳定性。 在实际使用过程中,还需要根据所使用的数据库类型,将对应的JDBC驱动JAR包添加到类路径中。例如,如果你的...
- `ObjectPool`: 对象池接口,DBCP使用它来管理连接对象,例如C3P0或Commons Pool提供的实现。 3. **DBCP的配置与使用** - 配置文件:通常在应用的配置文件(如`web.xml`)中配置`BasicDataSource`的相关属性,如...
- **commons-pool.jar**:这是Apache Commons Pool库,提供了对象池化的支持,DBCP使用它来管理数据库连接。 - **commons-logging.jar**:Apache Commons Logging库,提供日志服务的抽象层,使得DBCP可以灵活地...
- `ObjectPool`:接口,表示对象池,DBCP使用它来存储和管理数据库连接。 - `AbandonedConfig`:配置类,用于处理废弃连接的检测和清除策略。 3. **配置DBCP** - 在XML配置文件中,你可以设置各种属性,如最大...
- Commons-Pool.jar:提供了对象池化的基础框架,DBCP使用它来实现连接池的底层逻辑。 在使用DBCP时,开发者需要在Java代码中配置DBCP的连接池属性,如数据库URL、用户名、密码、最大连接数、最小连接数等,并通过...
Apache Commons JDBC是一个集合,包含了多个小型的、独立的、与JDBC相关的工具和实用程序,虽然在描述中没有明确提及,但它可能是DBCP使用的补充库。 在压缩包子文件的文件名称列表中,我们看到"www.pudn.com.txt"...
DBCP使用C3P0或Apache Commons Pool库来实现对象池的具体逻辑。 5. **AbandonedConfig** 和 **AbandonedObjectPool**: 这两个类用于处理"废弃"的连接。当连接长时间未使用时,可以设置自动回收机制,防止资源浪费和...
Apache Commons Pool是对象池化的实现库,DBCP使用它来管理数据库连接池。这个库提供了基础的池化服务,如对象的创建、回收和检测是否有效等。在DBCP中,它负责维护数据库连接的池,确保在需要时可以快速获取连接,...
JavaEE DBCP简单案例