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

📄 mysql.java

📁 23种GOF模式的java代码实现
💻 JAVA
字号:
package org.gof.structure.facade;

import java.sql.*;
import java.io.*;
import org.gof.structure.facade.*;
/**
 * 处理数据库的连接和访问
 * @author sanware bqlr
 * @version 1.01
 */
public class Mysql {

  private Connection conn = null;
  private Statement stmt = null;
  private PreparedStatement prepstmt = null;

//这是一个全局类,里面放置数据库的参数,如数据库主机 访问用户名 密码等
  private static BeansContants CONST = BeansContants.getInstance();

  /**
   * 构造数据库的连接和访问类
   */
  public Mysql() throws Exception {
    Class.forName(CONST.dbdriver);
    conn = DriverManager.getConnection(CONST.dburl);
    stmt = conn.createStatement();
  }

  public Mysql(String sql) throws Exception {
    Class.forName(CONST.dbdriver);
    conn = DriverManager.getConnection(CONST.dburl);
    this.prepareStatement(sql);
  }

  /**
   * 返回连接
   * @return Connection 连接
   */
  public Connection getConnection() {
    return conn;
  }

  /**
   * PreparedStatement
   * @return sql 预设SQL语句
   */
  public void prepareStatement(String sql) throws SQLException {
    prepstmt = conn.prepareStatement(sql);
  }

  /**
   * 设置对应值
   * @param index 参数索引
   * @param value 对应值
   */
  public void setString(int index, String value) throws SQLException {
    prepstmt.setString(index, value);
  }

  public void setInt(int index, int value) throws SQLException {
    prepstmt.setInt(index, value);
  }

  public void setBoolean(int index, boolean value) throws SQLException {
    prepstmt.setBoolean(index, value);
  }

  public void setDate(int index, Date value) throws SQLException {
    prepstmt.setDate(index, value);
  }

  public void setLong(int index, long value) throws SQLException {
    prepstmt.setLong(index, value);
  }

  public void setFloat(int index, float value) throws SQLException {
    prepstmt.setFloat(index, value);
  }

//File file = new File("test/data.txt");
//int fileLength = file.length();
//InputStream fin = new java.io.FileInputStream(file);
//mysql.setBinaryStream(5,fin,fileLength);
  public void setBinaryStream(int index, InputStream in, int length) throws
      SQLException {
    prepstmt.setBinaryStream(index, in, length);
  }

  public void clearParameters() throws SQLException {
    prepstmt.clearParameters();
  }

  /**
   * 返回预设状态
   */
  public PreparedStatement getPreparedStatement() {
    return prepstmt;
  }

  /**
   * 返回状态
   * @return Statement 状态
   */
  public Statement getStatement() {
    return stmt;
  }

  /**
   * 执行SQL语句返回字段集
   * @param sql SQL语句
   * @return ResultSet 字段集
   */
  public ResultSet executeQuery(String sql) throws SQLException {
    if (stmt != null) {
      return stmt.executeQuery(sql);
    }
    else {
      return null;
    }
  }

  public ResultSet executeQuery() throws SQLException {
    if (prepstmt != null) {
      return prepstmt.executeQuery();
    }
    else {
      return null;
    }
  }

  /**
   * 执行SQL语句
   * @param sql SQL语句
   */
  public void executeUpdate(String sql) throws SQLException {
    if (stmt != null) {
      stmt.executeUpdate(sql);
    }
  }

  public void executeUpdate() throws SQLException {
    if (prepstmt != null) {
      prepstmt.executeUpdate();
    }
  }

  /**
   * 关闭连接
   */
  public void close() throws Exception {
    if (stmt != null) {
      stmt.close();
      stmt = null;
    }
    if (prepstmt != null) {
      prepstmt.close();
      prepstmt = null;
    }
    conn.close();
    conn = null;
  }
}

⌨️ 快捷键说明

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