⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connpool.java

📁 jsp超市管理系统系统,是用经典的MVC设计模式开发的非常适合初学者学习。
💻 JAVA
字号:
package com.dbconn;

import java.sql.*;
import java.util.*;

public class ConnPool {

	private int connNow = 0;						//现在连接数
	private int maxConn;							//最大连接数	
	private String poolName = null;				//连接池名字
	private String driverName = null;				//驱动程序名
	private String url = null;						//连接数据库url
	private String userName = null;				//数据库用户名
	private String pwd = null;						//数据库密码
	private Vector connections = new Vector();		//存放连接的容器
	
	public ConnPool(String poolName,String driverName,String url,String userName,String pwd,int maxConn){
		
		this.poolName = poolName;
		this.driverName = driverName;
		this.url = url;
		this.userName = userName;
		this.pwd = pwd;
		this.maxConn = maxConn;
	}
	
	public synchronized void releaseConnection(Connection conn){				//释放连接(不是关闭连接)
		
		connections.addElement(conn);      
		connNow--;
		
	}
	
	public synchronized Connection getConnection(){							//获取连接(不是建立连接)
		
		Connection conn = null;
		if(connections.size() > 0){
			
			conn = (Connection)connections.elementAt(0);
			connections.removeElementAt(0);
			
			try{
				if(conn.isClosed())
					conn=getConnection();
			}
			catch(Exception e){
				e.printStackTrace();
			}			
		}
		
		else if(maxConn == 0 || connNow < maxConn){			
			conn = newConnection();
		}
		if(conn != null){
			connNow++;
		}
		return conn;
	}
	
	private Connection newConnection(){										//建立连接
		
		Connection conn = null;
		
		try{
			Class.forName(driverName);
			conn = DriverManager.getConnection(url,userName,pwd);
		}
		catch(Exception e){
			e.printStackTrace();
			return null;
		}
		
		return conn;		
	}
	
	public synchronized void closeConn(){									//关闭连接
		
		Enumeration allConnections = connections.elements();
		
		while(allConnections.hasMoreElements()){
			Connection conn = (Connection)allConnections.nextElement();
			try{
				conn.close();
			}
			catch(Exception e){
				e.printStackTrace();
			}
		}		
		connections.removeAllElements();		
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -