Verwendung einer Variablen anstelle eines Parameterindex mit einer JDBC-vorbereiteten Anweisung

In vielen Programmiersprachen ist für vorbereitete Anweisungen so etwas möglich:

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

Aber nicht mit java.sql.PreparedStatement. In Java muss man Parameterindizes verwenden:

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

Gibt es eine Lösung für die Arbeit mit Zeichenfolgenvariablen wie im ersten Beispiel? Wird "$ {. *}" In der SQL-Sprache nicht an anderer Stelle verwendet, oder gibt es Konflikte? Denn dann würde ich es selbst implementieren (die SQL-Zeichenfolge analysieren und jede Variable durch "?" Ersetzen und dann auf Java-Art und Weise ausführen).

Grüße Kai

Antworten auf die Frage(3)

Ihre Antwort auf die Frage