Sobes.tech
Junior — Middle
122

Veritabanı ile çalışırken execute, executeQuery ve executeUpdate yöntemleri arasındaki farklar nelerdir?

AI'dan gelen yanıt

sobes.tech yapay zeka

В Java при работе с JDBC:

  • executeQuery(String sql) — используется для выполнения SQL-запросов, которые возвращают данные (обычно SELECT). Возвращает объект ResultSet.

  • executeUpdate(String sql) — применяется для SQL-команд, которые изменяют данные (например, INSERT, UPDATE, DELETE) или структуру таблиц (CREATE, DROP). Возвращает количество затронутых строк.

  • execute(String sql) — универсальный метод, который может выполнять любой SQL-запрос. Возвращает true, если результатом является ResultSet, и false, если это количество обновленных строк или нет результата. Для получения результата нужно дополнительно вызвать getResultSet() или getUpdateCount().

Пример:

Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");

int rows = stmt.executeUpdate("UPDATE users SET active = 1 WHERE id = 10");

boolean hasResultSet = stmt.execute("SELECT * FROM users");
if (hasResultSet) {
    ResultSet rs2 = stmt.getResultSet();
    // обработка rs2
} else {
    int updateCount = stmt.getUpdateCount();
    // обработка updateCount
}