数据库BEAN:RESIN连接池

2007-04-05     推荐:86138040    收藏:55736328    评论:0     来源:赛迪网

*****************************
   * 数据库连接 bean ,用来连接 resin 的连接池
   *****************************/
  package net.asales.mysql;
  
  import java.sql.Connection;
  import java.sql.Statement;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import javax.sql.DataSource;
  import javax.naming.Context;
  import javax.naming.InitialContext;
  
  public class DBConnection {
    private Connection conn = null;
    private Statement stmt = null;
    private ResultSet rs = null;
    private int resultNum = 0;
  
    /**
     * 构造函数
     * 找到数据源,并用这个数据源创建连接
     */
    public DBConnection() {
      try {
        Context env = new InitialContext();
        DataSource pool = (DataSource) env.lookup(java:comp/env/jdbc/asales);
        if (pool == null)
          throw new Exception(jdbc/asales is an unknown DataSource);
        conn = pool.getConnection();
        stmt = conn.createStatement();
      } catch (Exception e) {
        System.out.println(naming: + e.getMessage());
      }
    }
  
    /**
     * 执行SQL语句:查询记录
     * @param sql SQL语句
     * @return ResultSet 记录集
     */
    public ResultSet executeQuery(String sql) {
      rs = null;
      try {
        rs = stmt.executeQuery(sql);
      } catch(SQLException se) {
        System.out.println(Query error: + se.getMessage());
      }
      return rs;
    }
  
    /**
     * 执行SQL语句 :插入与更新记录
     * @param sql SQL语句
     * @return int resultNum 更新的记录数
     */
    public int executeUpdate(String sql) {
      resultNum=0;
      try {
        resultNum = stmt.executeUpdate(sql);
      } catch (SQLException se) {
        System.err.println(Update error: + se.getMessage());
      }
      return resultNum;
    }
  
    /**
     * 关闭连接
     */
    public void close() {
      try {
        if (rs != null) {
          rs.close();
          rs = null;
        }
        if (stmt != null) {
          stmt.close();
          stmt = null;
        }
        if (conn != null) {
          conn.close();
          conn = null;
        }
      } catch (SQLException se) {
        System.out.println(close error: + se.getMessage());
      }
    }
  }
  
  ===================
  以下是RESIN配置文件中关于数据源的配置例:
  
  
   jdbc/asales
   javax.sql.DataSource
   
   
   
   
   
   
  

您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: