Używanie zmiennej zamiast indeksu parametru z przygotowaną instrukcją JDBC
W wielu językach programowania możliwe jest coś takiego dla przygotowanych instrukcji:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");
Ale nie z java.sql.PreparedStatement. W Javie należy użyć indeksów parametrów:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");
Czy istnieje rozwiązanie do pracy ze zmiennymi łańcuchowymi, jak w pierwszym przykładzie? Czy „$ {. *}” Nie jest używany gdzie indziej w języku SQL, czy są jakieś konflikty? Bo wtedy zaimplementowałbym go sam (parsowanie łańcucha SQL i zastąpienie każdej zmiennej przez „?”, A następnie zrobienie tego w sposób Java).
Pozdrawiam, Kai