JAVA 数据库的操作方法 基类

package db;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSetMetaData;
import java.sql.DriverManager;
import javax.sql.DataSource;
import javax.servlet.http.HttpServletRequest;

/**
 * <p>Title:操作数据库对象 </p>
 *
 * <p>Description: 操作数据库的工具类 ,包含有各种操作数据库方法</p>
 * @version 1.0
 */

public class DB_ut {

    Connection conn = null;
    Statement stmt = null;
    DataSource dataSource = null;
    ResultSet rs = null;

    public DB_ut(DataSource dataSource) {
        this.dataSource = dataSource;
    }

    public Connection getConn() {

        this.setConn();
        return conn;

    }

    public Statement getStmt() {

        this.setStmt();
        return stmt;
    }

    public ResultSet getRs(String sql) {
        this.setStmt();
        try {
            rs = stmt.executeQuery(sql);
        } catch (SQLException ex) {
            System.out.println("获得rs出错" + ex.toString());
        }

        return rs;

    }

    ///以下是关闭数据库各个对象的操作/
    //注意,rs stmt conn 在主函数中调用那一个,就只关闭那一个就可以/

    public void closeConn() {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException ex) {
                System.out.println("获得连接出错" + ex.toString());
            }
        }
    }

    public void closeStmt() {
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException ex) {
                System.out.println("获得连接出错" + ex.toString());
            }
        }
        this.closeConn();
    }

    public void closeRs() {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException ex) {
                System.out.println("获得连接出错" + ex.toString());
            }
        }
        this.closeStmt();
        this.closeConn();
    }

    ///以下私用工具函数//
    private void setConn() {
        if (conn == null) {
            if (dataSource != null) {             
                try {
                    //取得数据库连接
                    conn = dataSource.getConnection();

                } catch (Exception e) {

                    System.out.println("获得连接出错" + e.toString());

                }

            }

        }

    }

    private void setStmt() {
        if (stmt == null) {
            this.setConn();

            if (conn != null) {
                try {
                    stmt = conn.createStatement();
                } catch (SQLException ex) {
                    System.out.println("获得stmt出错" + ex.toString());
                }

            }

        }

    }

}

使用方法: 

==============================

          ResultSet rs = null;   

  DboperationForm DboperationForm = (DboperationForm) form;
   /定义数据库操作工具类
   db.DB_ut DB_ut = new db.DB_ut(getDataSource(request, "data")); 
   /以下是获取带参数的ResultSet的例子代码,关闭的时候,只调用相应的方法即可。
//   String sql = "SELECT * FROM JOB where jobid = '"+DboperationForm.getDbname()+"'  " ;
   String sql = "SELECT * FROM JOB" ;
   rs = DB_ut.getRs(sql);
            DB_ut.closeRs();     
//               while(rs.next())
//               {
//       System.out.print(rs.getString("jobid"));
//               } 
     
     return (ActionForward) rs;
    
     }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值