Для каких SQL-операций следует использовать метод executeUpdate в JDBC?

«Для каких SQL-операций следует использовать метод executeUpdate в JDBC?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод executeUpdate() в JDBC предназначен для выполнения операций, изменяющих состояние базы данных (Data Manipulation Language - DML и Data Definition Language - DDL), и возвращает количество затронутых строк.

Операции для executeUpdate:

  • INSERT — добавление новых записей.
  • UPDATE — изменение существующих записей.
  • DELETE — удаление записей.
  • CREATE TABLE, ALTER TABLE, DROP TABLE и другие DDL-запросы.

Пример использования:

String sqlUpdate = "UPDATE users SET active = true WHERE registration_date < ?";
PreparedStatement pstmt = connection.prepareStatement(sqlUpdate);
pstmt.setDate(1, java.sql.Date.valueOf("2023-01-01"));
int updatedRows = pstmt.executeUpdate(); // Возвращает число обновленных записей
System.out.println("Updated rows: " + updatedRows);

Когда НЕ использовать executeUpdate:

  • Для запросов SELECT, которые возвращают результат (ResultSet). Для них используется executeQuery().
  • Для вызова хранимых процедур или выполнения сложных запросов, которые могут возвращать несколько результатов. В таких случаях может потребоваться общий метод execute().