この記事の例では、JDBC プログラムがデータベース内のレコードを更新する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。
JDBC プログラム (Eclipse、MyEclipse) を使用してデータベース (MySql) 内のレコードを更新する場合、レコードの 1 つまたは複数のフィールドのみを変更できます。具体的な方法は、次のコメント化されたコードを追加することです (エントリが取得できる場合)。変更前のデータベースから)レコード)ユーザーテーブルを例にとります
public class UserDaoJdbcImplimplements UserDao { public void update(User u) { Connection conn = null; ResultSet rs = null; try { conn = JdbcUtils.getConnection();誕生日 = ?、お金 = ? ここで id=?"; ps = conn.prepareStatement(sql); // 最初にレコードを取得します user = getUserById(u.getId()); // フィールドを変更する必要があるかどうかを判断します 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()); ps.executeUpdate(); System.out.println("ユーザー テーブルに正常に更新されました" + i + "レコード"); } catch (SQLException e) { e.printStackTrace() } 最後に { JdbcUtils.free(rs , ps) , conn); } } public User getUserById(int id) { 接続 conn = null; ResultSet rs = null; ユーザー user = null; try { conn = JdbcUtils.getConnection(); String sql = "select * from user where id = ?"; = ps.executeQuery(); if (rs.next()) { ユーザー = 新しいユーザー(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setBirthday(rs.getDate("birthday")); "お金")); } } catch (SQLException e) { e.printStackTrace() } 最後に { JdbcUtils.free(rs, ps, conn); } ユーザーを返します。
電話:
public static void main(String[] args) { UserDao ud = new UserDaoJdbcImpl(); user.setId(9); //名前と誕生日のみを変更しますプロパティ Date d = null; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.parse("1999-9-14"); } catch (ParseException e) { e.printStackTrace(); } //user.setMoney(1234); .update (ユーザー);}
この記事が Java プログラミングの皆様のお役に立てれば幸いです。