JDBC не более или менее уязвим для внедрения SQL, чем любой другой механизм подключения SQL.Уязвимость к SQL-инъекциям попадает в руки людей, которые пишут код.Шаблоны JDBC предоставляют способ управления соединением с базой данных, не обязательно защищающий вас от внедрения SQL.Вы по-прежнему более чем способны написать дрянной код с шаблоном JDBC, который уязвим для SQL-инъекций.
Редактировать Чтобы ответить на обновление вашего вопроса.Вы можете сделать это, есть простой метод query в шаблоне JDBC, но это сделает вас уязвимым для SQL-инъекций.Простой ответ: всегда используйте подготовленные высказывания .Единственный раз, когда вы можете безопасно избегать их использования, это если вы не включаете какие-либо входные данные в запрос, которые могут получить от пользователя.Тем не менее, вам гораздо лучше просто использовать подготовленное заявление даже в тех случаях, когда нет вероятности, что ваше предположение неверно или оно изменится в будущем.Всегда, всегда, всегда используйте готовые высказывания.Их использование также дает некоторые преимущества в производительности, поскольку механизм SQL может кэшировать скомпилированный оператор для последующего использования, вместо того чтобы каждый раз перекомпилировать оператор SQL.