科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道数据库BEAN:RESIN连接池

数据库BEAN:RESIN连接池

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  /*****************************    * 数据库连接 bean ,用来连接 resin 的连接池    *****************************/   package net

作者:中国IT实验室 来源:中国IT实验室 2007年9月9日

关键字: 连接池 Resin Bean

  • 评论
  • 分享微博
  • 分享邮件

  /*****************************
   * 数据库连接 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配置文件中关于数据源的配置例:
  
  <resource-ref>
   <res-ref-name>jdbc/asales</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <init-param driver-name="org.gjt.mm.mysql.Driver"/>
   <init-param url="jdbc:mysql://localhost:3306/asales"/>
   <init-param user="root"/>
   <init-param password=""/>
   <init-param max-connections="20"/>
   <init-param max-idle-time="30"/>
  </resource-ref>

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章