У мене є загальний метод Java із таким підписом методу:
private static ResultSet runSQLResultSet(String sql, Object... queryParams)
Він відкриває з'єднання, будує за PreparedStatement
допомогою оператора sql та параметрів у queryParams
масиві змінної довжини, запускає його, кешує ResultSet
(в а CachedRowSetImpl
), закриває з'єднання та повертає кешований набір результатів.
У мене є обробка виключень у методі, який реєструє помилки. Я записую оператор sql як частину журналу, оскільки це дуже корисно для налагодження. Моя проблема полягає в тому, що при реєстрації змінної String sql
записується вислів шаблону з? 'Замість фактичних значень. Я хочу записати фактичну заяву, яка була виконана (або намагалася виконати).
Отже ... Чи є спосіб отримати власне оператор SQL, яким керуватиме a PreparedStatement
? ( Не будуючи його самостійно. Якщо я не можу знайти спосіб доступу до PreparedStatement's
SQL, я, мабуть, в кінцевому підсумку будую його сам у своїх catch
ес.)