Junior — Middle
89
JDBC-да execute, executeQuery және executeUpdate әдістерінің айырмашылықтары қандай және қайсысын қашан қолдану керек?
AI-дан жауап
sobes.tech AI
В JDBC методы execute, executeQuery и executeUpdate имеют разные назначения:
-
executeQuery() — используется для выполнения SQL-запросов, которые возвращают результат в виде набора данных (SELECT). Возвращает объект ResultSet.
-
executeUpdate() — применяется для выполнения SQL-команд, которые изменяют данные или структуру базы (INSERT, UPDATE, DELETE, DDL). Возвращает количество затронутых строк.
-
execute() — универсальный метод, который может выполнять любой SQL-запрос. Возвращает boolean: true, если результатом является ResultSet, false — если обновление.
Когда использовать:
- Для выборки данных — executeQuery.
- Для изменения данных или структуры — executeUpdate.
- Если заранее неизвестен тип запроса или он может быть разным — execute.
Пример:
String sql = "SELECT * FROM users";
ResultSet rs = statement.executeQuery(sql);
String updateSql = "UPDATE users SET name='John' WHERE id=1";
int rows = statement.executeUpdate(updateSql);
boolean hasResultSet = statement.execute(sql);
if (hasResultSet) {
ResultSet rs2 = statement.getResultSet();
// обработка
}