利用Oracle自带的连接池类的一例
/**
封装了对数据库的连接,用于处理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[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9650775/viewspace-921153/,如需转载,请注明出处,否则将追究法律责任。