自己开发了一个数据库连接池

 

只要说一下它的使用,源码给大家
获取不同的数据库连接池有下面一个枚举类选择:
Java代码 复制代码
  1. package org.liufei.common;   
  2. /**  
  3.  * 选择加载的数据库连接池类型  
  4.  * @author 刘飞  
  5.  *  
  6.  */  
  7. public enum DBCP {   
  8.     MICROSOFT, MYSQL, ORACLE ;   
  9. }  
package org.liufei.common;
/**
 * 选择加载的数据库连接池类型
 * @author 刘飞
 *
 */
public enum DBCP {
	MICROSOFT, MYSQL, ORACLE ;
}


连接池接口:
Java代码 复制代码
  1. package org.liufei.dao;   
  2.   
  3. import java.io.Serializable;   
  4. import java.sql.Connection;   
  5.   
  6.   
  7. public interface PoolManager extends Serializable {   
  8.        
  9.     /**  
  10.      * connection连接对象池初始化   
  11.      * @return  
  12.      * @throws Exception  
  13.      */  
  14.     public boolean initialize() throws Exception ;   
  15.        
  16.     /**  
  17.      * connection连接对象池的销毁  
  18.      * @throws Exception  
  19.      */  
  20.     public void destroy() throws Exception ;   
  21.        
  22.     /**  
  23.      * 取一个空闲可用的connection连接对象   
  24.      * @return  
  25.      * @throws Exception  
  26.      */  
  27.     public Connection getConnection() throws Exception ;   
  28.        
  29.     /**  
  30.      * 把一个connection连接对象从连接对象池中删除   
  31.      * @throws Exception  
  32.      */  
  33.     public void removeFromPool() throws Exception ;   
  34.        
  35.     /**  
  36.      * 维护connection连接对象池大小   
  37.      * @throws Exception  
  38.      */  
  39.     public void fillPool() throws Exception ;   
  40.        
  41.     /**  
  42.      * 将一个使用过的活跃连接(connection)返还给连接池。  
  43.      * @param connection  
  44.      * @throws Exception  
  45.      */  
  46.     public void close(Connection connection) throws Exception ;   
  47.        
  48.     /**  
  49.      * 定时器事件  
  50.      * @throws Exception  
  51.      */  
  52.     public void timerEvent() throws Exception ;   
  53. }  
package org.liufei.dao;

import java.io.Serializable;
import java.sql.Connection;


public interface PoolManager extends Serializable {
	
	/**
	 * connection连接对象池初始化 
	 * @return
	 * @throws Exception
	 */
	public boolean initialize() throws Exception ;
	
	/**
	 * connection连接对象池的销毁
	 * @throws Exception
	 */
	public void destroy() throws Exception ;
	
	/**
	 * 取一个空闲可用的connection连接对象 
	 * @return
	 * @throws Exception
	 */
	public Connection getConnection() throws Exception ;
	
	/**
	 * 把一个connection连接对象从连接对象池中删除 
	 * @throws Exception
	 */
	public void removeFromPool() throws Exception ;
	
	/**
	 * 维护connection连接对象池大小 
	 * @throws Exception
	 */
	public void fillPool() throws Exception ;
	
	/**
	 * 将一个使用过的活跃连接(connection)返还给连接池。
	 * @param connection
	 * @throws Exception
	 */
	public void close(Connection connection) throws Exception ;
	
	/**
	 * 定时器事件
	 * @throws Exception
	 */
	public void timerEvent() throws Exception ;
}


连接池管理接口:
Java代码 复制代码
  1. package org.liufei.dbcp.connectionFactory;   
  2.   
  3. import java.io.Serializable;   
  4. import java.sql.Connection;   
  5.   
  6. /**  
  7.  * 连接池管理接口  
  8.  * @author 刘飞  
  9.  *  
  10.  */  
  11. public interface DbcpConnection extends Serializable {   
  12.   
  13.     /**  
  14.      * 将一个使用过的活跃连接(connection)返还给连接池。  
  15.      * @param connection  
  16.      * @throws Exception  
  17.      */  
  18.     public void close(Connection connection) throws Exception ;   
  19.        
  20.     /**  
  21.      * connection连接对象池的销毁  
  22.      * @throws Exception  
  23.      */  
  24.     public void destroy() throws Exception ;   
  25.        
  26.     /**  
  27.      * 取一个空闲可用的connection连接对象   
  28.      * @return  
  29.      * @throws Exception  
  30.      */  
  31.     public Connection getConnection() throws Exception ;   
  32.        
  33.     /**  
  34.      * 检测本地系统上安装的数据库系统,并生成相应的配置文件,  
  35.      * 如果本地计算机上安装了多个数据库系统,则生成是有相应的配置文件  
  36.      */  
  37.     public void getConfFiles() ;   
  38.        
  39. }  
package org.liufei.dbcp.connectionFactory;

import java.io.Serializable;
import java.sql.Connection;

/**
 * 连接池管理接口
 * @author 刘飞
 *
 */
public interface DbcpConnection extends Serializable {

	/**
	 * 将一个使用过的活跃连接(connection)返还给连接池。
	 * @param connection
	 * @throws Exception
	 */
	public void close(Connection connection) throws Exception ;
	
	/**
	 * connection连接对象池的销毁
	 * @throws Exception
	 */
	public void destroy() throws Exception ;
	
	/**
	 * 取一个空闲可用的connection连接对象 
	 * @return
	 * @throws Exception
	 */
	public Connection getConnection() throws Exception ;
	
	/**
	 * 检测本地系统上安装的数据库系统,并生成相应的配置文件,
	 * 如果本地计算机上安装了多个数据库系统,则生成是有相应的配置文件
	 */
	public void getConfFiles() ;
	
}

连接池管理接口工厂:
Java代码 复制代码
  1. package org.liufei.dbcp.connectionFactory;   
  2.   
  3. import java.io.Serializable;   
  4.   
  5. import org.liufei.common.DBCP;   
  6.   
  7. public class ConnectionFactory implements Serializable{   
  8.     private static final long serialVersionUID = 102400L;   
  9.   
  10.     private ConnectionFactory() {   
  11.         super();   
  12.     }   
  13.   
  14.     /**  
  15.      * 获取数据库连接池管理接口  
  16.      * @return DbcpConnection  
  17.      */  
  18.     public static DbcpConnection getDbcpConnection(DBCP dbcpparam){   
  19.         return new DbcpConnectionImpl(dbcpparam) ;   
  20.     }   
  21. }  
package org.liufei.dbcp.connectionFactory;

import java.io.Serializable;

import org.liufei.common.DBCP;

public class ConnectionFactory implements Serializable{
	private static final long serialVersionUID = 102400L;

	private ConnectionFactory() {
		super();
	}

	/**
	 * 获取数据库连接池管理接口
	 * @return DbcpConnection
	 */
	public static DbcpConnection getDbcpConnection(DBCP dbcpparam){
		return new DbcpConnectionImpl(dbcpparam) ;
	}
}


代码如下,供大家下载(有jar和javadoc文档以及属性配置文件):
说明:使用时一定要导入相应的数据库jdbcjar包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值