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

📄 connmanager.java

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

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

public class ConnManager {											//定义了一个连接池管理类

	private Vector poolNames = new Vector();
	private Vector driverNames = new Vector();
	private Vector url = new Vector();
	private Vector userNames = new Vector();
	private Vector pwds = new Vector();
	private Vector maxConns = new Vector();
	private Hashtable connPools = new Hashtable();
	
	public ConnManager(){											//构造方法
		
		poolNames.addElement("market");
		driverNames.addElement("oracle.jdbc.driver.OracleDriver");
		url.addElement("jdbc:oracle:thin:@192.168.9.8:1521:oracle");
		userNames.addElement("lipeng");
		pwds.addElement("lipeng");
		maxConns.addElement("10");
		
		createPool();
	}
	
	private void createPool(){										//建立一个连接池
		
		for(int i = 0; i < poolNames.size(); i++){
			String poolName = poolNames.elementAt(i).toString();
			String driverName = driverNames.elementAt(i).toString();
			String dbId = url.elementAt(i).toString();
			String userName = userNames.elementAt(i).toString();
			String pwd = pwds.elementAt(i).toString();
			int maxConn = 0;
			
			try{
				maxConn = Integer.parseInt(maxConns.elementAt(i).toString());
			}
			catch(NumberFormatException e){
				e.printStackTrace();
			}
			
			ConnPool pool = new ConnPool(poolName,driverName,dbId,userName,pwd,maxConn);
			connPools.put(poolName, pool);
		}		
	}
	
	public Connection getConnection(String name){					//从连接池中取出一个连接
		
		ConnPool pool = (ConnPool)connPools.get(name);		
		if(pool != null)
			return pool.getConnection();
		
		return null;		
	}
	
	public void releaseConnection(String name,Connection conn){		//释放一个连接,将连接放回连接池中
		
		ConnPool pool = (ConnPool)connPools.get(name);		
		if(pool != null)
			pool.releaseConnection(conn);		
	}
	
	public synchronized void destroyPool(){							//销毁连接池
		
		Enumeration allPools = connPools.elements();
		while(allPools.hasMoreElements()){
			ConnPool pool = (ConnPool)allPools.nextElement();
			pool.closeConn();
		}
		
	}
		
}

⌨️ 快捷键说明

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