Statement – SQL-выражение, подготовленное к выполнению в рамках определенной
JDBC-сессии. Выполняется методом
execute для обычного выражения,
executeUpdate для модифицирующего,
executeBatch для пакетного. Когда ожидаемый размер результата больше
Integer.MAX_VALUE, используются версии методов
executeLarge*.
После выполнения, экземпляр
Statement владеет
ResultSet-ом, и другими данными о результате выполнения, такими как количество обновленных записей и сгенерированные ключи.
PreparedStatement – предскомпилированная версия
Statement, его наследник. Эффективнее выполняет одно и то же выражение множество раз.
Входные параметры объявляются в SQL-выражении символом
?, следом сеттерами задаются их типы и значения. Делегирует
обязанность экранировать введенные пользователем параметры базе данных.
CallableStatement – наследник
PreparedStatement для вызова
хранимых процедур. Кроме входных параметров, позволяет регистрировать
выходные.
Экземпляры всех трех типов создаются методами интерфейса
Connection.