Java Mysql数据库工具类代码

这篇博客介绍了如何编写一个Java数据库工具类,用于处理Mysql的连接、查询和更新操作。通过使用PreparedStatement,可以安全地处理SQL语句,同时支持传递单个或多个参数,简化数据库交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 通过编写数据库工具类,将数据库的连接、查询、更新操作编写成特定的方法;
  • 使用PreparedStatement语句;
  • 传递数组形成SQL语句;
public class DBUtil {

    private static Connection conn;
    private static PreparedStatement ps;
    private static ResultSet rs;

    public static Connection getConnection(){

        String Url = "jdbc:mysql://localhost:3306/smp";
        String User = "root";
        String Passwd = "123123";

        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(Url, User, Passwd);
            return conn;

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

        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static ResultSet excuteQuery(String sql){

        if (getConnection() == null) {
            return null;
        }
        try {

            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }


    public static ResultSet excuteQuery(String sql,Object[] obj){

        if (getConnection() == null) {
            return null;
        }
        try {

            ps = conn.prepareStatement(sql);
            for (int i = 0; i <obj.length ; i++) {
                ps.setObject(i+1,obj[i]);
            }

            rs = ps.executeQuery();

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

public static int executeUpdate(String sql) {  
        int result = -1;  
        if (getConn() == null) {  
            return result;  
        }  
        try {  
            ps = conn.prepareStatement(sql);  
            result = ps.executeUpdate();  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
        return result;  
    }  


    public static int excuteUpdate(String sql,Object[] obj){
        int result = -1;

        if (getConnection() == null) {
            return 0;
        }
        try {

            ps = conn.prepareStatement(sql);
            for (int i = 0; i <obj.length ; i++) {
                ps.setObject(i+1,obj[i]);
            }

            result = ps.executeUpdate();

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;

    }


    public static void DBclose(){

        try {

            if (rs != null) {
                rs.close();
            }
            if (ps != null) {
                ps.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}

传递一个参数:


    public Student queryNumber(String number) throws SQLException{

        Student stu = null;

        String sql = "SELECT * from student WHERE Stu_number = ? ";
        Object[] param ={number};
        ResultSet rs = DBUtil.excuteQuery(sql,param);

        while (rs.next()){
            stu = new Student(rs.getString("Stu_name"),rs.getString("Stu_number"));
            stu.setId(rs.getInt("Stu_id"));
            stu.setNotes(rs.getString("Stu_notes"));
            stu.setBirthday(rs.getString("Stu_birthday"));
            stu.setSex(rs.getString("Stu_sex"));
        }

        DBUtil.DBclose();

        System.out.println(stu.toString());

传递多个参数:

    public Student queryNumber(String number,String id) throws SQLException{


        String sql = "SELECT * from student WHERE Stu_number = ? OR id = ?";
        Object[] param ={number,id};
        ResultSet rs = DBUtil.excuteQuery(sql,param);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值