JAVA DBhelper类

package com.hebut.util;


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


 


public final class DBHelper {


    // 此方法为获取数据库连接

    public static Connection getConnection() {
        Connection conn = null;
        try {

            String driver = "com.mysql.jdbc.Driver"; // 数据库驱动
            String url = "jdbc:MySQL://127.0.0.1:3306/school";// 数据库
            String user = "root"; // 用户名
            String password = "hadoop"; // 密码
            Class.forName(driver); // 加载数据库驱动
            if (null == conn) {
                conn = DriverManager.getConnection(url, user, password);
            }


        } catch (ClassNotFoundException e) {
            System.out.println("Sorry,can't find the Driver!");
            e.printStackTrace();
        } catch (SQLException e) {

            e.printStackTrace();


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

        }


        return conn;

    }


 


    /**


     * 增删改【Add、Del、Update】


     *


     * @param sql


     * @return int


     */


    public static int executeNonQuery(String sql) {
        int result = 0;
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = getConnection();
            stmt = conn.createStatement();
            result = stmt.executeUpdate(sql);
        } catch (SQLException err) {
            err.printStackTrace();
            free(null, stmt, conn);

        } finally {
            free(null, stmt, conn);
        }
        return result;
    }


 


    /**


     * 增删改【Add、Delete、Update】


     *


     * @param sql


     * @param obj


     * @return int


     */


    public static int executeNonQuery(String sql, Object... obj) {

       int result = 0;
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = getConnection();
            pstmt = conn.prepareStatement(sql);
            for (int i = 0; i < obj.length; i++) {
                pstmt.setObject(i + 1, obj[i]);

            }
            result = pstmt.executeUpdate();
        } catch (SQLException err) {

           err.printStackTrace();
            free(null, pstmt, conn);
        } finally {
            free(null, pstmt, conn);
        }


        return result;


    }


 


    /**


     * 查【Query】


     *


     * @param sql


     * @return ResultSet


     */


    public static ResultSet executeQuery(String sql) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {

            conn = getConnection();
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
        } catch (SQLException err) {
            err.printStackTrace();
            free(rs, stmt, conn);
        }

       return rs;


    }


 


    /**


     * 查【Query】


     *


     * @param sql


     * @param obj


     * @return ResultSet


     */


    public static ResultSet executeQuery(String sql, Object... obj) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {


            conn = getConnection();


            pstmt = conn.prepareStatement(sql);
            for (int i = 0; i < obj.length; i++) {

               pstmt.setObject(i + 1, obj[i]);
            }
            rs = pstmt.executeQuery();
        } catch (SQLException err) {

           err.printStackTrace();
            free(rs, pstmt, conn);


        }

       return rs;
    }


 


    /**


     * 判断记录是否存在


     *


     * @param sql


     * @return Boolean


     */


    public static Boolean isExist(String sql) {


        ResultSet rs = null;


 


        try {


            rs = executeQuery(sql);


            rs.last();


            int count = rs.getRow();


            if (count > 0) {


                return true;


            } else {


                return false;


            }


        } catch (SQLException err) {


            err.printStackTrace();


            free(rs);


            return false;


        } finally {


            free(rs);


        }


    }


 


    /**


     * 判断记录是否存在


     *


     * @param sql


     * @return Boolean


     */


    public static Boolean isExist(String sql, Object... obj) {


        ResultSet rs = null;


 


        try {


            rs = executeQuery(sql, obj);


            rs.last();


            int count = rs.getRow();


            if (count > 0) {


                return true;


            } else {


                return false;


            }


        } catch (SQLException err) {


            err.printStackTrace();


            free(rs);


            return false;


        } finally {


            free(rs);


        }


    }


 


    /**


     * 获取查询记录的总行数


     *


     * @param sql


     * @return int


     */


    public static int getCount(String sql) {


        int result = 0;


        ResultSet rs = null;


 


        try {


            rs = executeQuery(sql);


            rs.last();


            result = rs.getRow();


        } catch (SQLException err) {


            free(rs);


            err.printStackTrace();


        } finally {


            free(rs);


        }


 


        return result;


    }


 


    /**


     * 获取查询记录的总行数


     *


     * @param sql


     * @param obj


     * @return int


     */


    public static int getCount(String sql, Object... obj) {


        int result = 0;


        ResultSet rs = null;


 


        try {


            rs = executeQuery(sql, obj);


            rs.last();


            result = rs.getRow();


        } catch (SQLException err) {


            err.printStackTrace();


        } finally {


            free(rs);


        }


 


        return result;


    }


 


    /**


     * 释放【ResultSet】资源


     *


     * @param rs


     */


    public static void free(ResultSet rs) {


        try {


            if (rs != null) {


                rs.close();


            }


        } catch (SQLException err) {


            err.printStackTrace();


        }


    }


 


    /**


     * 释放【Statement】资源


     *


     * @param st


     */


    public static void free(Statement st) {


        try {


            if (st != null) {


                st.close();


            }


        } catch (SQLException err) {


            err.printStackTrace();


        }


    }


 


    /**


     * 释放【Connection】资源


     *


     * @param conn


     */


    public static void free(Connection conn) {


        try {


            if (conn != null) {


                conn.close();


            }


        } catch (SQLException err) {


            err.printStackTrace();


        }


    }


 


    /**


     * 释放所有数据资源


     *


     * @param rs


     * @param st


     * @param conn


     */


    public static void free(ResultSet rs, Statement st, Connection conn) {


        free(rs);


        free(st);


        free(conn);


    }


}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 JDBC 的 DBHelper 辅助的示例代码: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBHelper { private static final String DRIVER = "com.mysql.jdbc.Driver"; private static final String URL = "jdbc:mysql://localhost:3306/database_name"; private static final String USERNAME = "username"; private static final String PASSWORD = "password"; private Connection conn; private PreparedStatement ps; private ResultSet rs; public DBHelper() { try { Class.forName(DRIVER); conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public ResultSet executeQuery(String sql, Object... params) throws SQLException { ps = conn.prepareStatement(sql); for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]); } rs = ps.executeQuery(); return rs; } public int executeUpdate(String sql, Object... params) throws SQLException { ps = conn.prepareStatement(sql); for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]); } return ps.executeUpdate(); } public void close() { try { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } ``` 这个 DBHelper 包含了连接数据库、执行查询和更新操作、关闭数据库连接等常用方法。使用时,只需实例化 DBHelper ,然后调用其中的方法即可。例如: ```java DBHelper dbHelper = new DBHelper(); try { ResultSet rs = dbHelper.executeQuery("SELECT * FROM table_name WHERE column_name = ?", "value"); while (rs.next()) { // 处理查询结果 } } catch (SQLException e) { e.printStackTrace(); } finally { dbHelper.close(); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值