精简版增删改查

    科技2026-03-15  8

    之前的增删改查(前几篇的博客)代码有太多的重复部分的代码,费时费力!今天我们把代码简化。

    首先,在之前的代码中我们会发现select的代码和其他三个代码区别很大,等于我们只需要写两个代码,就行了

    我们把重复的代码写进DBUtil中,我们使用Object和for循环;

    public static int updata(String sql, Object[] objs) { Connection conn = getConn(); PreparedStatement ps = null; int count = 0; try { ps = conn.prepareStatement(sql); for (int i = 0; i < objs.length; i++) { ps.setObject(i + 1, objs[i]); } count = ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ close(conn, null, ps);} return count; }

    之后我们改造一下select代码;

    public static Users main( String userName, String pwd) { // TODO Auto-generated method stub Connection conn = DBUtil.getConn(); String sql = "select * from users where user_name = ? and pwd=? "; PreparedStatement ps = null; ResultSet rs = null; Users users = null; try { ps = conn.prepareStatement(sql); ps.setString(1, userName); ps.setString(2, pwd); rs = ps.executeQuery(); if(rs.next()){ users = new Users(); users.setId(rs.getInt(1)); users.setUserName(rs.getString(2)); users.setPwd(rs.getString(3)); users.setAge(rs.getInt(4)); users.setSex(rs.getString(5)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ DBUtil.close(conn, rs, ps); } return users; }

    接着就是剩下三个代码了,先来insert代码;

    public static void main(String[] args) { String sql = "insert into users values(?,?,?,?)"; Object[] objs = {"123",1}; int count = DBUtil.updata(sql, objs); if (count>0) { System.out.println("新增成功"); } else { System.out.println("新增失败"); } }

    剩下的改一下sql语句就行了;

    Processed: 0.021, SQL: 9