Пример в этой статье описывает, как программа JDBC обновляет записи в базе данных. Поделитесь им со всеми для справки, подробности следующие:
При использовании программ JDBC (Eclipse, MyEclipse) для обновления записей в базе данных (MySql) вы можете изменить только одно или несколько полей записи. Конкретный метод заключается в добавлении следующего закомментированного кода (при условии, что запись может быть получена). из базы данных до изменения) записи) на примере пользовательской таблицы
общественный класс UserDaoJdbcImpl реализует UserDao {public void update (User u) { Connection conn = null; день рождения = ?, деньги = ? где id=?"; ps = conn.prepareStatement(sql); // Сначала получаем запись User 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()); int i = ps.executeUpdate(); System.out.println("Таблица пользователей успешно обновлена" + i + "записи" } catch (SQLException e) { e.printStackTrace(); наконец { JdbcUtils.free(rs, ps) , conn); } } Общественный пользователь getUserById (int id) {Соединение conn = null; null; Пользователь пользователя = null; попробуйте { conn = JdbcUtils.getConnection(); String sql = "выберите * от пользователя, где id =?"; ps = conn.prepareStatement(sql); ps.setInt(1, rs); = ps.executeQuery(); если (rs.next()) {пользователь = новый пользователь(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setBirthday(rs.getDate("день рождения")); user.setMoney(rs.getDouble( "деньги"); } } catch (SQLException e) { e.printStackTrace() } наконец { JdbcUtils.free(rs, ps, конн); } вернуть пользователя }}
Вызов:
public static void main(String[] args) { UserDao ud = new UserDaoJdbcImpl(); User user = new User(); user.setName("Teacher");//Изменить только имя и день рождения Дата свойства d = null; попробуйте { SimpleDateFormat sdf = new SimpleDateFormat («гггг-ММ-дд»); sdf.parse("1999-9-14"); } catch (ParseException e) { e.printStackTrace(); } user.setBirthday(d); //user.setMoney(1234); .update (пользователь);}
Я надеюсь, что эта статья будет полезна всем, кто занимается программированием на Java.