Являются частью интерфейса
Statement в JDBC (Java Database Connectivity). Они используются для выполнения SQL-запросов к базе данных, но применяются в разных ситуациях в зависимости от типа запроса.🚩execute()
Метод используется для выполнения любых SQL-запросов. Он возвращает булевое значение, указывающее, вернул ли запрос объект
ResultSet (набор результатов). Используется для выполнения сложных запросов или тех, которые могут возвращать как результаты (например, SELECT), так и не возвращать результаты (например, INSERT, UPDATE, DELETE, DDL - команды).Statement stmt = connection.createStatement();
boolean hasResultSet = stmt.execute("SELECT * FROM employees");
if (hasResultSet) {
ResultSet rs = stmt.getResultSet();
// Обработка ResultSet
} else {
int updateCount = stmt.getUpdateCount();
// Обработка количества обновлений
}
🚩executeQuery()
Метод
executeQuery() используется исключительно для выполнения SQL-запросов типа SELECT. Он всегда возвращает объект ResultSet. Используется, когда нужно получить данные из базы данных, то есть при выполнении запросов SELECT.Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM employees");
while (rs.next()) {
// Обработка данных из ResultSet
}
🚩executeUpdate()
Метод
executeUpdate() используется для выполнения SQL-запросов, которые изменяют состояние базы данных. Это может быть INSERT, UPDATE, DELETE или DDL команды (например, создание или удаление таблицы). Он возвращает количество строк, затронутых запросом. Используется для выполнения запросов, которые изменяют данные или структуру базы данных.Statement stmt = connection.createStatement();
int rowsAffected = stmt.executeUpdate("UPDATE employees SET salary = 1000 WHERE id = 1");
System.out.println("Rows affected: " + rowsAffected);
🚩Различия
🟠Тип возвращаемого значения
execute(): возвращает boolean, указывающий, вернул ли запрос ResultSet.executeQuery(): возвращает ResultSet.executeUpdate(): возвращает int, указывающий количество затронутых строк.🟠Тип запроса
execute(): может выполнять любые SQL-запросы.executeQuery(): только SELECT запросы.executeUpdate(): INSERT, UPDATE, DELETE и DDL запросы.Ставь 👍 и забирай 📚 Базу знаний