一个Oracle数据库链接的JavaBean实例

文章作者 100test 发表时间 2007:03:14 13:32:53
来源 100Test.Com百考试题网


public class OracleConnectionManager {

private DBConnectionManager connMgr.
private final String poolName="Oracle".
private Connection conn.

public OracleConnectionManager() {

String userID = "system".
String password = "manager".
String JDBCDriver = "oracle.jdbc.driver.OracleDriver".
String JDBCDriverType = "jdbc:oracle:thin".
String DBHost = "127.0.0.1".
String Port = "1521".
String SID="sid".
String url = JDBCDriverType ":@" DBHost ":" Port ":" SID.


connMgr = DBConnectionManager.getInstance().
if (DBConnectionManager.clients == 1){
connMgr.init(poolName, JDBCDriver, url, userID, password).
connMgr.init("egongOracle", JDBCDriver, JDBCDriverType ":@110.7.6.22:1521:egong", "abcusername", "abcpasswd").


}
}

public Connection getConnection() {
return (conn=connMgr.getConnection(poolName)).
}

public Connection getConnection(String newOracle) {
return (conn=connMgr.getConnection(newOracle)).
}


public void freeConnection() {
connMgr.freeConnection(poolName,conn).
}

public void freeConnection(String newOracle) {
connMgr.freeConnection(newOracle,conn).
}

}


public class DBConnectionManager {
static private DBConnectionManager instance=null. // The single instance
static public int clients=0.

private Vector drivers = new Vector().
private PrintWriter log.
private Hashtable pools = new Hashtable().
private final int MAX_CONN = 1000.

/**
* Returns the single instance, creating one if it´.s the
* first time this method is called.
*
* @return DBConnectionManager The single instance.
*/
static synchronized public DBConnectionManager getInstance() {
if (instance == null) {
instance = new DBConnectionManager().
}
clients .
return instance.
}

/**
* A private constructor since this is a Singleton
*/
private DBConnectionManager() {
// init().
}

/**
* Returns a connection to the named pool.
*
* @param name The pool name as defined in the properties file
* @param con The Connection
*/
public void freeConnection(String name, Connection con) {
DBConnectionPool pool = (DBConnectionPool) pools.get(name).
if (pool != null) {
pool.freeConnection(con).
}
}

/**
* Returns an open connection. If no one is available, and the max
* number of connections has not been reached, a new connection is
* created.
*
* @param name The pool name as defined in the properties file
* @return Connection The connection or null
*/
public Connection getConnection(String name) {
DBConnectionPool pool = (DBConnectionPool) pools.get(name).
if (pool != null) {
return pool.getConnection().
}
return null.
}


相关文章


Oracle数据库中的硬解析和软解析简介
谈谈在ORACLE下开发JAVA程序的问题
复杂应用环境下监控Oracle数据库性能
一个Oracle数据库链接的JavaBean实例
Oracle共享连接和专用连接方式比较
Oracle:如何对CLOB行字段执行全文检索
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛