之前的增删改查(前几篇的博客)代码有太多的重复部分的代码,费时费力!今天我们把代码简化。
首先,在之前的代码中我们会发现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语句就行了;
