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

一个Oracle数据库链接的JavaBean实例,第1张

一个Oracle数据库链接的JavaBean实例,第2张

Oracle数据库链接的JavaBean实例

公共类OracleConnectionManager {

私有DBConnectionManager connMgr
private final String poolName = " Oracle ";
专用连接连接器;

公共OracleConnectionManager() {

String userID = " system
String password = " manager ";
String JDBC driver = " Oracle . JDBC . driver . Oracle driver ";
String JDBCDriverType = " JDBC:Oracle:thin ";
String DBHost = " 127 . 0 . 0 . 1 ";
String Port = " 1521 ";
String SID = " SID ";
String URL = JDBCDriverType+":@ "+DBHost+":"+Port+":"+SID;


conn mgr = db connection manager . getinstance();
if(dbconnectionmanager . clients = = 1){
connmgr . init(poolName,JDBCDriver,url,userID,password);
conmgr . init(" egongOracle ",JDBCDriver,JDBCDriverType+":@ 110 . 7 . 6 . 22:1521:egong "," abcusername "," ABC passwd ");


}
}

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

public Connection getConnection(String new Oracle){
return(conn = conn mgr . getConnection(new Oracle));
}


public void free connection(){
connmgr . free connection(poolName,conn);
}

public void free connection(String new Oracle){
connmgr . free connection(new Oracle,conn);
}

}


公共类DBConnectionManager {
静态私有DBConnectionManager实例= null//single instance
static public int clients = 0;

私有Vector驱动程序= new Vector();
私有PrintWriter日志;
私有哈希表池=新哈希表();
private final int MAX _ CONN = 1000;

/**
*返回单个实例,如果& acute这是
*第一次调用此方法。
*
* @返回DBConnectionManager单个实例。
*/
static synchronized public db connection manager getInstance(){
if(instance = = null){
instance = new db connection manager();
}
clients++;
返回实例;
}

/**
*一个私有构造函数,因为这是一个Singleton
*/
private db connection manager(){
//init();
}

/**
*返回到命名池的连接。
*
* @param name属性文件中定义的池名称
* @ param con Connection
*/
public void free Connection(String name,Connection con){
DBConnectionPool =(DBConnectionPool)pools . get(name);
if(池!= null){
pool . free connection(con);
}
}

/**
*返回一个打开的连接。如果没有人可用,并且没有达到最大
*连接数,则会
*创建一个新连接。
*
* @param name属性文件中定义的池名称
* @return Connection连接或null
*/
公共连接getConnection(String name){
DBConnectionPool pool =(DBConnectionPool)pools . get(name);
if(池!= null) {
返回pool . get connection();
}
返回null
}

/**
*返回一个打开的连接。如果没有人可用,并且没有达到最大
*连接数,则会
*创建一个新连接。如果已达到最大数量,会一直等待,直到有一个
*可用或指定的时间已过。
*
* @param name属性文件中定义的池名称
* @param time等待的毫秒数
* @return Connection连接或null
*/
public Connection get Connection(String name,long time){
DBConnectionPool pool =(DBConnectionPool)pools . get(name);
if(池!= null){
return pool . get connection(time);
}
返回null
}

/**
*关闭所有打开的连接并注销所有驱动程序。
*/
public synchronized void release(){
//等到最后一个客户端调用
if ( - clients!= 0){
return;
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 一个Oracle数据库链接的JavaBean实例

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情