📄 connmanager.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 + -