ตัวอย่างในบทความนี้จะอธิบายวิธีที่โปรแกรม JDBC อัพเดตเร็กคอร์ดในฐานข้อมูล แชร์ให้ทุกท่านได้ใช้อ้างอิง โดยมีรายละเอียดดังนี้
เมื่อใช้โปรแกรม JDBC (Eclipse, MyEclipse) เพื่ออัพเดตเร็กคอร์ดในฐานข้อมูล (MySql) คุณสามารถแก้ไขได้เพียงฟิลด์เดียวหรือหลายฟิลด์ของเร็กคอร์ด วิธีการเฉพาะคือการเพิ่มโค้ดที่มีข้อคิดเห็นต่อไปนี้ (โดยมีเงื่อนไขว่าสามารถรับรายการได้ จากฐานข้อมูลก่อนการแก้ไข) บันทึก) โดยนำตารางผู้ใช้เป็นตัวอย่าง
คลาสสาธารณะ UserDaoJdbcImpl ใช้ UserDao { การอัปเดตโมฆะสาธารณะ (ผู้ใช้ u) { การเชื่อมต่อ conn = null; ResultSet rs = null; ลอง { conn = JdbcUtils.getConnection (); String sql = "อัปเดตชื่อชุดผู้ใช้ = ?, วันเกิด = ?, เงิน = ? โดยที่ id=?"; ps = conn.prepareStatement(sql); // ก่อนอื่นให้รับบันทึก User user = getUserById(u.getId()); // พิจารณาว่าจำเป็นต้องแก้ไขฟิลด์หรือไม่ถ้า (u.getName() == null) { u.setName (user.getName()); } ถ้า (u.getBirthday() == null) { u.setBirthday(user.getBirthday() } ถ้า (u.getMoney() == 0) { u.setMoney(user.getMoney()); } ps.setString(1, u.getName()); ps.setDate(2, ใหม่ java.sql.Date(u.getBirthday().getTime ())); ps.setDouble(3, u.getMoney()); ps.setInt(4, u.getId()); ps.executeUpdate(); System.out.println("อัปเดตตารางผู้ใช้เรียบร้อยแล้ว" + i + "บันทึก"); } catch (SQLException e) { e.printStackTrace(); } ในที่สุด { JdbcUtils.free(rs , ps , conn); } } ผู้ใช้สาธารณะ getUserById (int id) { การเชื่อมต่อ conn = null; PreparationStatement ps = null; null; User user = null; ลอง { conn = JdbcUtils.getConnection(); String sql = "select * from user โดยที่ id = ?"; = ps.executeQuery(); ถ้า (rs.next()) { ผู้ใช้ = ผู้ใช้ใหม่(); user.setId(rs.getInt("id")); user.setName(rs.getString("ชื่อ")); user.setBirthday(rs.getDate("วันเกิด")); user.setMoney(rs.getDouble( "เงิน")); } } catch (SQLException e) { e.printStackTrace(); } ในที่สุด { JdbcUtils.free(rs, ps, conn); } ส่งคืนผู้ใช้; }}
เรียก:
โมฆะสาธารณะ main(String[] args) { UserDao ud = new UserDaoJdbcImpl(); User user = new User(); user.setId(9); user.setName("Teacher");//แก้ไขเฉพาะชื่อและวันเกิดเท่านั้น วันที่คุณสมบัติ d = null; ลอง { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.parse("1999-9-14"); catch (ParseException e) { e.printStackTrace(); } user.setBirthday(d); //user.setMoney(1234); .update (ผู้ใช้);}
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับทุกคนในการเขียนโปรแกรม Java