Использование PreparedStatement предотвращает атаки SQL Injection, потому что разделяет код SQL и пользовательские данные. 24
При использовании PreparedStatement для параметров запроса создаются местозаполнители (например, знак вопроса «?»), а затем к ним привязываются конкретные значения. 25 В результате база данных интерпретирует пользовательский ввод строго как данные, а не как часть исполняемого кода SQL. 25
Кроме того, PreparedStatement автоматически экранирует специальные символы в параметрах, что не позволяет вредоносному вводу изменять структуру запроса. 5
Таким образом, PreparedStatement обеспечивает более безопасный способ взаимодействия с базой данных, снижая риск атак SQL Injection. 5