?? dbconnmanager.java~2~
字號:
package com.test.DB;import java.sql.*;import java.util.*;import com.test.DB.DBConnPool;/*連接池管理類,可以管理多個數據庫連接池*/public class DBConnManager { //連接池名列表 private Vector poolnames = new Vector(); //驅動程序名列表 private Vector drivernames = new Vector(); //數據庫標識列表 private Vector dbids = new Vector(); //用戶名列表 private Vector usernames = new Vector(); //密碼列表 private Vector passwds = new Vector(); //最大連接數列表 private Vector maxconns = new Vector(); //連接池隊列 private Hashtable connPools = new Hashtable(); public DBConnManager() { //添加mysql數據庫的連接信息 poolnames.addElement("mysql"); drivernames.addElement("org.gjt.mm.mysql.Driver"); dbids.addElement("jdbc:mysql://localhost/testmysql"); usernames.addElement("root"); passwds.addElement(""); maxconns.addElement("10"); //添加access數據庫的連接信息 poolnames.addElement("access"); drivernames.addElement("sun.jdbc.odbc.JdbcOdbcDriver"); dbids.addElement("jdbc:odbc:userlink"); usernames.addElement(""); passwds.addElement(""); maxconns.addElement("5"); //創建連接池 createPools(); } /*將連接返回給由指定的連接池*/ public void releaseConnection(String name, Connection con) { DBConnPool pool = (DBConnPool) connPools.get(name); if (pool != null) pool.releaseConnection(con); } /*得到一個指定連接池中的連接*/ public Connection getConnection(String name) { DBConnPool pool = (DBConnPool) connPools.get(name); if (pool != null) return pool.getConnection(); return null; } /*關閉所有連接*/ public synchronized void closeConns() { Enumeration allPools = connPools.elements(); while (allPools.hasMoreElements()) { DBConnPool pool = (DBConnPool) allPools.nextElement(); pool.closeConn(); } } /*創建連接池*/ private void createPools() { for(int i = 0; i<poolnames.size();i++){ String poolname = poolnames.elementAt(i).toString(); String drivername = drivernames.elementAt(i).toString(); String dbid = dbids.elementAt(i).toString(); String username = usernames.elementAt(i).toString(); String passwd = passwds.elementAt(i).toString(); int maxconn=0; try { maxconn = Integer.parseInt(maxconns.elementAt(i).toString()); } catch (NumberFormatException e) { e.printStackTrace(); } DBConnPool pool = new DBConnPool(poolname, drivername, dbid, username, passwd, maxconn); connPools.put(poolname, pool); } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -