Использование переменной вместо индекса параметра с подготовленным оператором JDBC
Во многих языках программирования что-то подобное возможно для подготовленных операторов:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");
Но не с помощью java.sql.PreparedStatement. В Java нужно использовать индексы параметров:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");
Есть ли решение для работы со строковыми переменными, как в первом примере? Является & quot; $ {. *} & Quot; не используется где-либо еще в языке SQL, или есть какие-либо конфликты? Потому что тогда я реализовал бы это сам (синтаксический анализ строки SQL и замена каждой переменной на «?», А затем выполнение Java).
С Уважением, Кай