关闭

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

标签: oracleexceptionsqlimportstringnull
592人阅读 评论(0) 收藏 举报
分类:
/**
  封装了对数据库的连接,用于处理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  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:305008次
    • 积分:4235
    • 等级:
    • 排名:第7164名
    • 原创:94篇
    • 转载:207篇
    • 译文:3篇
    • 评论:12条
    最新评论