⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getdbdata.java~3~

📁 用户登录
💻 JAVA~3~
字号:
package myapp;

import java.util.*;
import java.sql.*;
import java.io.*;
import java.lang.*;
import javax.sql.*;
import javax.naming.*;

/**
 * <p>获取数据类</p>
 */
public class GetDBData {
  Connection con = null;
  Statement stmt = null;
  PreparedStatement pstm = null;
  ResultSet rs = null;
  public GetDBData() {
  }

  //获取数据库连接(使用JDBC)
  public void getConnect() {
    try {
      DBConnection dbConnection = new DBConnection();
      dbConnection.getConnection();
    }
    catch (Exception e) {
      System.out.println("连接数据库服务器失败!" + e.getMessage());
      e.printStackTrace();
    }
  }

  //获取数据库连接(使用连接池)
  public void getConnectPool() {
    DataSource ds = null;
    try {
      Context initCtx = new InitialContext();
      Context envCtx = (Context) initCtx.lookup("java:comp/env");
      ds = (DataSource) envCtx.lookup("jdbc/connectDB");
      if (ds != null) {
        System.out.println("已经获得数据源DataSource!");
      }
      else {
        con = ds.getConnection();
      }
    }
    catch (Exception e) {
      e.printStackTrace();
      System.out.println(e);
      System.out.println("连接数据库服务器出现异常!" + e.getMessage());
    }
  }

  //获取数据
  public Vector getData(String sql) {
    Vector vect = new Vector();
    try {
      DBConnection dbConnection = new DBConnection();
      dbConnection.getConnection();
      pstm = con.prepareStatement(sql);
      rs = pstm.executeQuery();

      //FormatString ds = new FormatString();
      ResultSetMetaData rsmd = rs.getMetaData();
      int cols = rsmd.getColumnCount();
      while (rs.next()) {
        Hashtable hash = new Hashtable();
        for (int i = 1; i <= cols; i++) {
          String field = rsmd.getColumnName(i);
          String value = rs.getString(i);
          hash.put(field, value);
        }
        vect.add(hash);
      }
    }
    catch (SQLException e) {
      System.out.println("查询数据时出错!错误为:" + e);
    }
    finally {
      closeConnect();
    }
    return vect;
  }

  //获取数据集
  public Vector getResultSetData(ResultSet rs) {
    Vector vect = new Vector();
    try {
      //获取列名和列数
      ResultSetMetaData rsmd = rs.getMetaData();
      int cols = rsmd.getColumnCount();
      while (rs.next()) {
        Hashtable hash = new Hashtable();
        for (int i = 1; i <= cols; i++) {
          //FormatString ds = new FormatString();
          String field = rsmd.getColumnName(i);
          String value = rs.getString(i);
          hash.put(field, value);
        }
        vect.add(hash);
      }
    }
    catch (SQLException e) {
      System.out.println("查询数据集时出错!错误为:" + e);
    }
    return vect;
  }

  //查询数据1
  public ResultSet selectRecord1(String sql) {
    try {
      stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                 ResultSet.CONCUR_READ_ONLY);
      rs = stmt.executeQuery(sql);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return rs;
  }

  //查询数据2
  public ResultSet selectRecord(String sql) {
    try {
      pstm = con.prepareStatement(sql);
      rs = pstm.executeQuery();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return rs;
  }

  //增加数据
  public int insertRecord(String sql) {
    int num = 0;
    try {
      stmt = con.createStatement();
      stmt.executeUpdate(sql);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return num;
  }

  //修改数据
  public int updateRecord(String sql) {
    int num = 0;
    try {
      stmt = con.createStatement();
      stmt.executeUpdate(sql);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return num;
  }

  //删除数据
  public int deleteRecord(String sql) {
    int num = 0;
    try {
      stmt = con.createStatement();
      stmt.executeUpdate(sql);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return num;
  }

  //统计记录数
  public int countRecord(String sql) {
    int num = 0;
    try {
      stmt = con.createStatement();
      rs = stmt.executeQuery(sql); //建立查询结果集
      while (rs.next()) {
        num = rs.getInt(1);
      }
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return num;
  }

  //关闭数据库连接并释放资源
  public void closeConnect() {
    try {
      if (rs != null) {
        rs.close();
        rs = null;
      }
      if (stmt != null) {
        stmt.close();
        stmt = null;
      }
      if (pstm != null) {
        pstm.close();
        pstm = null;
      }
      if (con != null) {
        con.close();
        con = null;
      }
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      con = null;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -