DefaultConnectionPool

本文介绍了一种基于Java的数据库连接池实现——DefaultConnectionPool类。该类继承自JdbcPool,负责管理JDBC连接的创建、分配及回收。通过构造函数可以设置连接池的初始连接数、最大连接数等参数,并且支持在等待连接时是否让线程阻塞的选项。文章还详细解释了makeNewConnection方法,该方法用于在连接池初始化或运行时按需创建新的数据库连接。
package com.huawei.db;

import java.sql.*;

/**
* 分配,回收和管理JDBC连接
*/

public class DefaultConnectionPool extends JdbcPool
{
public DefaultConnectionPool
(
String driver, String url,
String username, String password,
int initialConnections,
int maxConnections,
boolean waitIfBusy)
throws SQLException
{
super(driver, url, username, password, initialConnections, maxConnections, waitIfBusy);
}

/*
*明确地建立一连接。当ConnectionPool初始化时被在前台调用
*而当ConnectionPool在运行时,该函数在后台线程中被调用
*/
protected Connection makeNewConnection ()throws SQLException
{
try
{
DriverManager.registerDriver((Driver)Class.forName(driver).newInstance());
Connection connection =
DriverManager.getConnection(url, username, password);

return connection;
}
catch(ClassNotFoundException cnfe)
{
// Simplify try/catch blocks of people using this by
// throwing only one exception type.
throw new SQLException("Can't find class for driver: " +
driver);
}
catch(Exception e)
{
throw new SQLException("some error getConnection="+e.toString());
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值