1.DNCP使用方法
首先需要相应的两个jar包
分别为:
commons-dbcp-1.2.jar
commons-pool-1.6.jar
将相应的jar包导入
相应代码如下:
JDBC_Test1.java
package com.atchance.jdbc;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
import oracle.jdbc.*;
import oracle.jdbc.driver.*;
public class JDBCTest1 {
/**
* 使用JDBC数据库连接池
* 1.加入jar包,依赖于Commons Pool
* 2.创建数据库连接池
* 3.为数据源实例指定必须的属性
* 4.从数据源中获取数据库连接
* @throws SQLException
* @throws Exception
*/
public void testDBCP() throws SQLException{
BasicDataSource dataSource = null;
//1. 创建DBPC 数据源实例
dataSource = new BasicDataSource();
//2. 为数据源实例指定必须的属性
dataSource.setUsername("scott");
dataSource.setPassword("tiger");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:ORCL");
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
//3.指定数据源的一些可选的属性
//1).指定数据库连接池中初始化连接数的个数
dataSource.setInitialSize(10);
//2).指定最大连接数:同一时刻可以同时向数据库申请的连接数
dataSource.setMaxActive(50);
//3).指定最小连接数:在数据库连接池中保存的最少的空闲连接的数量
dataSource.setMinIdle(5);
//4).等待数据库连接池分配的最长时间,单位为毫秒,超出该时间将抛出异常
dataSource.setMaxWait(1000 * 5);
//4.从数据源中获取数据库连接
Connection connection = dataSource.getConnection();
System.out.println(connection.getClass());
}
public static void main(String[] arg) throws Exception{
JDBCTest1 jd = new JDBCTest1();
jd.testDBCP();
}
}
2.C3P0使用方法
同样需要导入一个jar包:
c3p0-0.9.2.1.jar
示例代码如下:
public void testC3P0() throws Exception{
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass("oracle.jdbc.driver.OracleDriver");
cpds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:ORCL");
cpds.setUser("scott");
cpds.setPassword("tiger");
System.out.println(cpds);
}
“`