Разница между Statement и PreparedStatement в JDBC заключается в том, как они обрабатывают параметры запроса: 5
- Statement используется для выполнения простых SQL-запросов без входящих, динамически вставляемых параметров. 1 Такой запрос выполняется каждый раз при вызове метода execute() объекта Statement. 5
- PreparedStatement позволяет создавать динамический SQL-запрос с параметрами. 5 Этот запрос компилируется только один раз, а затем может быть многократно выполнен с разными значениями параметров. 5 Параметры указываются в виде плейсхолдеров '?' в SQL-запросе. 5
Кроме того, PreparedStatement защищает от SQL-инъекций, так как параметры автоматически экранируются при выполнении запроса. 5