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