The example in this article describes how the JDBC program updates records in the database. Share it with everyone for your reference, the details are as follows:
When using JDBC programs (Eclipse, MyEclipse) to update records in the database (MySql), you can only modify one field or several fields of the record. The specific method is to add the following commented code (provided that the entry can be obtained from the database before modification) records) taking the user table as an example
public class UserDaoJdbcImpl implements UserDao { public void update(User u) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JdbcUtils.getConnection(); String sql = "update user set name = ?, birthday = ?, money = ? where id=?"; ps = conn.prepareStatement(sql); // First get the record User user = getUserById(u.getId()); // Determine whether the field needs to be modified if (u.getName() == null) { u.setName(user. getName()); } if (u.getBirthday() == null) { u.setBirthday(user.getBirthday()); } if (u.getMoney() == 0) { u.setMoney(user.getMoney()); } ps.setString(1, u.getName()); ps.setDate(2, new java.sql.Date(u.getBirthday().getTime ())); ps.setDouble(3, u.getMoney()); ps.setInt(4, u.getId()); int i = ps.executeUpdate(); System.out.println("Successfully updated to user table" + i + "records"); } catch (SQLException e) { e.printStackTrace(); } finally { JdbcUtils.free(rs , ps, conn); } } public User getUserById(int id) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; User user = null; try { conn = JdbcUtils.getConnection(); String sql = "select * from user where id = ?"; ps = conn.prepareStatement(sql); ps.setInt(1, id); rs = ps.executeQuery(); if (rs.next()) { user = new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setBirthday(rs.getDate("birthday")); user.setMoney(rs.getDouble( "money")); } } catch (SQLException e) { e.printStackTrace(); } finally { JdbcUtils.free(rs, ps, conn); } return user; }}
Call:
public static void main(String[] args) { UserDao ud = new UserDaoJdbcImpl(); User user = new User(); user.setId(9); user.setName("Teacher");//Only modify name and birthday Property Date d = null; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); d = sdf.parse("1999-9-14"); } catch (ParseException e) { e.printStackTrace(); } user.setBirthday(d); //user.setMoney(1234); does not modify the money attribute ud.update (user);}
I hope this article will be helpful to everyone in Java programming.