Sie könnten versuchen, Folgendes anzurufen toString()
in der vorbereiteten Anweisung, nachdem Sie die Bindungswerte festgelegt haben.
PreparedStatement statement = connection.prepareStatement(aSQLStatement);
System.out.println("Before : " + statement.toString());
query.setString(1, "Hello");
query.setString(2, "World");
System.out.println("After : " + statement.toString());
Dies funktioniert, wenn Sie den JDBC-MySQL-Treiber verwenden, aber ich bin nicht sicher, ob dies auch in anderen Fällen der Fall ist. Möglicherweise müssen Sie alle Bindungen, die Sie vornehmen, nachverfolgen und diese dann ausdrucken.
Beispielhafte Ausgabe des obigen Codes.
Before : com.mysql.jdbc.JDBC4PreparedStatement@fa9cf: SELECT * FROM test WHERE blah1=** NOT SPECIFIED ** and blah2=** NOT SPECIFIED **
After : com.mysql.jdbc.JDBC4PreparedStatement@fa9cf: SELECT * FROM test WHERE blah1='Hello' and blah2='World'