JDBC_数据库连接池(二) DNCP与C3P0的使用方法及代码演示

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);

    }

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值