连接池使用接口 DBConnection

package co.utl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import co.utl.DBConnectionManager;

/**
* 使用类DBConnection 调用连接池,并且接管transaction控制,进行统一的commit 和 rollback
* 完成释放链接池的操作.
*/

public class DBConnection {
 private Connection conn = null;

 private DBConnectionManager dcm = null;

 private String connName = null;
 
 private ResultSet rs = null;
 
 // 初始化
 void init() {
  dcm = DBConnectionManager.getInstance();
  conn = dcm.getConnection(connName);
  while (conn == null) {
   conn = dcm.getConnection(connName, 10);
  }
 }
 /**
  * 构造数据库的连接和访问类
  *
  * @param connName   连接池名称
  */
   public DBConnection(String connName) throws Exception
   {
  this.connName = connName;
     init();
   }
  
     /**
   * 返回预设状态
   */
  public PreparedStatement getPreparedStatement(String sql) throws SQLException  {
   return conn.prepareStatement(sql);
  }

  /**
   * 返回状态
   */
  public Statement getStatement() throws SQLException {
   return conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
  }
  
  /** 
      * 开始数据库事务 
      * @throws SQLException 数据库连接对象异常 
      */ 
     public void beginTransaction() throws SQLException {    
             // 禁用连接的自动提交模式  
             this.conn.setAutoCommit(false);  
     }  
     /** 
      * 提交数据库事务 
      * @throws SQLException 数据库连接对象异常 
      */ 
     public void commitTransaction() throws SQLException {  
             // 手动提交事务  
             this.conn.commit();   
             // 启用连接的自动提交模式  
             this.conn.setAutoCommit(true);    
     }  
     /** 
      * 回滚数据库事务 
      * @throws SQLException 数据库连接对象异常 
      */ 
     public void rollbackTransaction() throws SQLException {  
             // 取消并回滚事务  
             this.conn.rollback();  
             // 启用连接的自动提交模式  
             this.conn.setAutoCommit(true);   
     }
    
     /**
   * 关闭连接
   */
  public void close() throws Exception {
   if (conn != null) {
    dcm.freeConnection(connName, conn);
   }

  }

}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7861794/viewspace-697865/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7861794/viewspace-697865/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值