Выбор ответа Junior JDBC и транзакции обновлено

Какой метод для UPDATE

Вопрос

Какой метод PreparedStatement вызвать для UPDATE users SET name = ? WHERE id = ? и что он вернёт?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: executeUpdate(), число изменённых строк. executeUpdate предназначен для INSERT, UPDATE, DELETE и DDL, возвращает число затронутых строк. executeQuery для запросов, возвращающих ResultSet, на UPDATE бросит исключение. execute возвращает true, только если результат это ResultSet,…

Варианты ответа

  1. executeQuery(), ResultSet с изменёнными строками
  2. executeUpdate(), число изменённых строкправильный ответ
  3. execute(), всегда true при успехе
  4. executeBatch(), массив id изменённых строк

Разбор

executeUpdate предназначен для INSERT, UPDATE, DELETE и DDL, возвращает число затронутых строк. executeQuery для запросов, возвращающих ResultSet, на UPDATE бросит исключение. execute возвращает true, только если результат это ResultSet, для UPDATE будет false. executeBatch возвращает массив счётчиков строк по командам пачки, а не id.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.