论坛首页 入门技术论坛

JAVA数据库连接池

浏览 3623 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-05  

/连接池类

package tuha.sczb.db;

 

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 String jdbcDriver = ""; // 数据库驱动

 

       private String dbUrl = ""; // 数据 URL

 

       private String dbUsername = ""; // 数据库用户名

 

       private String dbPassword = ""; // 数据库用户密码

 

       private String testTable = ""; // 测试连接是否可用的测试表名,默认没有测试表

 

       private int initialConnections = 10; // 连接池的初始大小

 

       private int incrementalConnections = 5;// 连接池自动增加的大小

 

       private int maxConnections = 50; // 连接池最大的大小

 

       private Vector connections = null; // 存放连接池中数据库连接的向量 , 初始时为 null

 

//     它中存放的对象为 PooledConnection

 

       /**

 

        * 构造函数

 *

 

        * @param jdbcDriver String JDBC 驱动类串

 

        * @param dbUrl String 数据库 URL

 

        * @param dbUsername String 连接数据库用户名

 

        * @param dbPassword String 连接数据库用户的密码

 

        *

 

        */

 

       public ConnectionPool(String jdbcDriver,String dbUrl,String dbUsername,String dbPassword) {

 

              this.jdbcDriver = jdbcDriver;

 

              this.dbUrl = dbUrl;

 

              this.dbUsername = dbUsername;

 

              this.dbPassword = dbPassword;

 

       }

       /**

 

        * 构造函数

 

        */

 

       public ConnectionPool() {

 

       }

 

       /**

 

        * 返回连接池的初始大小

 

        *

 

        * @return 初始连接池中可获得的连接数量

 

        */

 

       public int getInitialConnections() {

 

              return this.initialConnections;

 

       }

 

       /**

 

        * 设置连接池的初始大小

 

        *

 

        * @param 用于设置初始连接池中连接的数量

 

        */

 

       public void setInitialConnections(int initialConnections) {

 

              this.initialConnections = initialConnections;

 

       }

 

       /**

 

        * 返回连接池自动增加的大小

 

        *

 

        * @return 连接池自动增加的大小

 

        */

 

       public int getIncrementalConnections() {

 

              return this.incrementalConnections;

 

       }

 

       /**

 

        * 设置连接池自动增加的大小

 

        * @param 连接池自动增加的大小

 

        */

 

       public void setIncrementalConnections(int incrementalConnections) {

 

              this.incrementalConnections = incrementalConnections;

 

       }

 

       /**

 

        * 返回连接池中最大的可用连接数量

 

        * @return 连接池中最大的可用连接数量

 

        */

 

       public int getMaxConnections() {

 

              return this.maxConnections;

 

       }

 

       /**

 

        * 设置连接池中最大可用的连接数量

 

        *

 

        * @param 设置连接池中最大可用的连接数量值

 

        */

 

       public void setMaxConnections(int maxConnections) {

 

              this.maxConnections = maxConnections;

 

       }

 

       /**

 

        * 获取测试数据库表的名字

 

        *

 

        * @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.jdbcDriver).newInstance());

 

              DriverManager.registerDriver(driver); // 注册 JDBC 驱动程序

 

              // 创建保存连接的向量 , 初始时有 0 个元素

 

              connections = new Vector();

 

              // 根据 initialConnections 中设置的值,创建连接。

 

              createConnections(this.initialConnections);

 

              System.out.println(" 数据库连接池创建成功! ");

 

       }

 

       /**

 

        * 创建由 numConnections 指定数目的数据库连接 , 并把这些连接

 

        * 放入 connections 向量中

 

        *

margin: 0cm 0cm 0pt;

   发表时间:2009-02-12   最后修改:2009-02-12
这个应该是dbcp的连接池类吧,前两天我在网上也搜索到了,并且已经成功应用了,呵呵

当前这代码应该还不全
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics