Встречается на собеседованиях • сегодня
В чем разница между PreparedStatement и Statement
PreparedStatement и Statement — интерфейсы для выполнения SQL-запросов в JDBC, но с ключевыми отличиями:
- Безопасность
PreparedStatementзащищает от SQL-инъекций, так как параметры передаются черезsetXxx(), а не встраиваются в строку.
Statementуязвим, так как запрос формируется конкатенацией строк.
-
Производительность
PreparedStatementкомпилируется один раз и кэшируется, что ускоряет повторные выполнения.
Statementкомпилируется каждый раз. -
Читаемость
PreparedStatementудобнее для запросов с параметрами.
Пример:
java
// Statement (небезопасно)
String sql = "SELECT * FROM users WHERE id = " + userId;
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// PreparedStatement (безопасно)
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setInt(1, userId);
ResultSet rs = pstmt.executeQuery();
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы