JDBC数据库编程操作类(适用于MySQL)

package com.msit.Uitll;

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

/**
 * 数据库帮助类 连接MySQL数据库
 *
 * @author ruanj_000
 *
 */
public class SQLHelp {

      private static String dirverName = "com.mysql.jdbc.Driver";
      private static String url = "jdbc:mysql://127.0.0.1:3306/misidb";
      private static String user = "root";
      private static String password = "root";
      private static Connection connection = null;

 // 编写静态代码块(比构造函数加载更快),用来加载驱动类
 static {
  try {
   Class.forName(dirverName);
   // 创建连接对象

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }

 /**
  * 获得连接对象
  *
  * @return
  */
 public static Connection getConnection() {
  try {
   connection = DriverManager.getConnection(url, user, password);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return connection;
 }

 /**
  * 用来执行 添加、删除、修改的sql语句
  *
  * @param sql
  * @return 受影响的行数
  */
 public static int ExecuteNonQuery(String sql) {
  int num = 0;
  Connection conn = getConnection();
  Statement sta = null;
  try {
   sta = conn.createStatement();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  try {
   num = sta.executeUpdate(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   Close(null, sta, conn);
  }
  return num;
 }
 
 /**
  * 执行查询语句方法
  * @param sql  数据查询SQL脚本语言
  * @return  返回结果集
  */
 public static ResultSet ExecuteQuery(String sql){
  ResultSet rs=null;
  Connection con=getConnection();
  Statement sta=null;
  try {
   sta=con.createStatement();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  try {
   rs=sta.executeQuery(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  finally{
   //Close(rs, sta, con);
  }
  return rs;
 }

 /**
  * 关闭资源的方法
  *
  * @param rs
  *            结果集
  * @param sta
  *            执行对象
  * @param conn
  *            连接对象
  */
 private static void Close(ResultSet rs, Statement sta, Connection conn) {
  if (rs != null) {
   try {
    rs.close();
   } catch (SQLException e) {
    System.out.println("数据结果集关闭异常..!");
    e.printStackTrace();
   }
  }
  if (sta != null) {
   try {
    sta.close();
   } catch (SQLException e) {
    System.out.println("执行对象关闭异常、、!");
    e.printStackTrace();
   }
  }
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    System.out.println("数据连接关闭异常、、!");
    e.printStackTrace();
   }
  }
  rs=null; sta=null; conn=null;
 }
 
 /**
  * 执行预编译sql语句的方法
  * @param sql
  * @param prgm
  * @return
  */
 public static int pstm(String sql,String prgm[]){
  int num=0;
  PreparedStatement pstm=null;
  try {
   pstm =getConnection().prepareStatement(sql);
   for (int i =1; i <= prgm.length; i++) {
    pstm.setString(i, prgm[i-1]);
   }
   num=pstm.executeUpdate();
   pstm.close();
   connection.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return num;
 }
 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值