В JDBC существуют три основных вида Statement
:
-
Statement
:
- Подходит для выполнения статических SQL-запросов без параметров.
- Не кэширует план выполнения запроса, что может снижать производительность при повторном выполнении.
- Уязвим к SQL-инъекциям, так как значения вставляются непосредственно в строку запроса.
-
PreparedStatement
:
- Предназначен для выполнения параметризованных SQL-запросов.
- Параметры устанавливаются с помощью методов
setXXX()
.
- Кэширует план выполнения запроса, что повышает производительность при многократных вызовах с разными параметрами.
- Безопасен от SQL-инъекций, так как параметры автоматически экранируются.
-
CallableStatement
:
- Используется для вызова хранимых п