利用Oracle自带的连接池类的一例

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

/**

封装了对数据库的连接,用于处理SQL语句。

@author:yancheng(sharetop studio)

@version:1.0.0

*/

package DBUtil;

import java.sql.*;

import java.io.*;

import javax.sql.*;

import javax.naming.*;

import oracle.jdbc.pool.*;

public class OraPooledSQL

{

private PooledConnection dbpool;

/**

@param ConnectionURL 连接名 如: jdbc:odbc:myODBC

@param UserID 用户名

@param PassWord 用户密码

*/

public OraPooledSQL(String ConnectionURL,String UserID,String PassWord)

{

try{

OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();

ocpds.setURL(ConnectionURL);

ocpds.setUser(UserID);

ocpds.setPassword(PassWord);

dbpool = ocpds.getPooledConnection();

}

catch(Exception ex)

{

System.err.println("Error in PooledSQL-construct : ");

ex.printStackTrace(System.err);

}

}//end OraPooledSQL

//close dbpool

protected void finalize()

{

if( dbpool != null )

{

try

{

dbpool.close();

}

catch(Exception ex)

{

}

}

}

/**

用于更新、添加或删除的SQL语句

@param SQL SQL语句字串,如:insert into tablename values(id,......)

*/

public int Update(String SQL)

{

Statement stmt = null;

int rc = 0;

Connection connection = null;

try

{

connection = dbpool.getConnection();

stmt = connection.createStatement();

rc = stmt.executeUpdate(SQL);

}

catch( Exception ex )

{

System.err.println("Error in Update - OraPooledSQL : ");

ex.printStackTrace(System.err);

}

return rc;

} //end Update()

/**

用于查询的SQL语句

@param SQL SQL语句字串,如:select * from tablename

*/

public ResultSet Query(String SQL)

{

Statement stmt = null;

ResultSet rs = null;

Connection connection = null;

try

{

connection = dbpool.getConnection();

stmt = connection.createStatement();

rs = stmt.executeQuery(SQL);

}

catch( Exception ex )

{

System.err.println("Error in Query - SQLBean : ");

ex.printStackTrace(System.err);

}

return rs;

} //end Query

} //end Class

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航