package com.kyo.connection; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.Enumeration; import java.util.Vector; public class ConnectionPool { private ConnectionParam param; private String testTable = ""; // 测试连接是否可用的测试表名,默认没有测试表 private Vector connections = null; // 存放连接池中数据库连接的向量 , 初始时为 // null,它中存放的对象为PooledConnection 型 public void setParam(ConnectionParam param) { this.param = param; } public ConnectionParam getParam() { return param; } /** * 构造函数 * * @param param */ public ConnectionPool(ConnectionParam param) { this.param = param; } /** * * 获取测试数据库表的名字 * * @return 测试数据库表的名字 */ public String getTestTable() { return this.testTable; } /** * * 设置测试表的名字 * * @param testTable * String 测试表的名字 */ public void setTestTable(String testTable) { this.testTable = testTable; } /** * 创建一个数据库连接池,连接池中的可用连接的数量采用类成员 initialConnections 中设置的值 */ public synchronized void createPool() throws Exception { // 确保连接池没有创建 // 如果连接池己经创建了,保存连接的向量 connections 不会为空 if (connections != null) { return; // 如果己经创建,则返回 } // 实例化 JDBC Driver 中指定的驱动类实例 Driver driver = (Driver) (Class.forName(this.param.getDriver()) .new...