Usando uma variável em vez de um índice de parâmetro com uma instrução preparada JDBC

Em muitas linguagens de programação, algo assim é possível para instruções preparadas:

PreparedStatement statement = connection.prepareStatement(
    "SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");

Mas não com java.sql.PreparedStatement. Em Java, é necessário usar índices de parâmetro:

PreparedStatement statement = connection.prepareStatement(
    "SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");

Existe uma solução para trabalhar com variáveis ​​de string, como no primeiro exemplo? "$ {. *}" Não é usado em algum outro lugar na linguagem SQL ou há algum conflito? Porque então eu iria implementá-lo sozinho (analisando a string SQL e substituindo todas as variáveis ​​por "?" E, em seguida, fazendo isso da maneira Java).

Atenciosamente, Kai

questionAnswers(3)

yourAnswerToTheQuestion