Встречается на собеседованиях • сегодня
В чем разница между видами Statement в JDBC
Statement, PreparedStatement и CallableStatement - основные интерфейсы для выполнения SQL-запросов в JDBC.
- Statement - простой запрос без параметров. Уязвим к SQL-инъекциям:
java
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");- PreparedStatement - параметризованный запрос. Защищен от инъекций, кэшируется и быстрее:
java
PreparedStatement pstmt = conn.prepareStatement(
"SELECT * FROM users WHERE id = ?");
pstmt.setInt(1, userId);
ResultSet rs = pstmt.executeQuery();- CallableStatement - для вызова хранимых процедур:
java
CallableStatement cstmt = conn.prepareCall("{call get_user(?)}");
cstmt.setInt(1, userId);
ResultSet rs = cstmt.executeQuery();Основные отличия:
- Безопасность (PreparedStatement защищает от инъекций)
- Производительность (PreparedStatement кэшируется)
- Функциональность (CallableStatement для процедур)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы