Użycie przygotowanej instrukcji i zmiennej zmiennej Order By in Java ze sterownikiem JDBC

używam

jdbcTemplate do nawiązywania połączeń JDBC z bazą danych mySQLprzygotowane oświadczenia, aby jak najlepiej zabezpieczyć się przed atakami SQL injectionw potrzebie przyjmowania żądań od użytkownika, aby posortować dane na dowolnej z kilkunastu różnych kolumn

następujące oświadczenie

jdbcTemplate.query("SELECT * FROM TABLE1 ORDER BY ? ?", colName, sortOrder);

Oczywiście to nie działa, ponieważ powiązania zmiennych nie powinny określać nazw kolumn, tylko wartości parametrów dla wyrażeń w zapytaniu.

Więc ... jak ludzie rozwiązują ten problem? Wykonanie sortowania w kodzie Java wydaje się łatwym rozwiązaniem, ale ponieważ otrzymuję zmienny ciąg dla kolumny do sortowania i zmienną mówiącą mi porządek sortowania .... pokrywa. Wydaje się, że powinien to być powszechny problem ze wspólnym wzorem do rozwiązania ...

questionAnswers(3)

yourAnswerToTheQuestion