2023信创独角兽企业100强
全世界各行各业联合起来,internet一定要实现!

数据库BEAN:RESIN连接池

2004-02-11 eNet&Ciweek

  JSP初学者一用到数据库都会遇到数据库连接BEAN的问题。

  并且对初学者也推荐用RESIN做服务器,配置简单(开发不需要配置APACHE)。

  所以把我自己在用的数据库连接BEAN发出来来,供参考。

  由于RESI本身也提供了连接池,就更省事了,访问量不大时都够了。   

   * 数据库连接 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

  

  

  

  

  

  

  


相关频道: eNews

您对本文或本站有任何意见,请在下方提交,谢谢!

投稿信箱:tougao@enet16.com