Да, используйте готовые заявления для всего.
Они анализируются один раз.
Они защищены от атак SQL-инъекций.
Это лучший дизайн, потому что вы должны подумать о вашем SQL и как он используется.
Если вы думаете, что они используются только один раз, вы не смотрите на общую картину. Когда-нибудь ваши данные или ваша заявка изменится.
Edit.
Почему подготовленные операторы заставляют вас думать о вашем SQL?
Когда вы собираете строку (или просто выполняете буквальный блок текста), вы не создаете новый объект PreparedStatement
. Вы просто выполняете SQL - это может быть сделано очень случайно.
Когда вам нужно создать (и сохранить) PreparedStatement
, вам нужно еще немного подумать об инкапсуляции, распределении ответственности. Подготовка оператора является событием с состоянием перед любой обработкой SQL.
Дополнительная работа небольшая, но не незначительная. Это то, что заставляет людей задуматься об ORM и слое кэширования данных, и тому подобное, чтобы оптимизировать доступ к своей базе данных.
С Подготовленными утверждениями доступ к базе данных менее случайный, более преднамеренный.