当前位置: 首页 > 图灵资讯 > 技术篇> 利用Oracle自带的连接池类的一例

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

来源:图灵教育
时间:2024-02-21 09:52:49
/**包装了处理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 dbpoolprotected 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