这在JDBC API合同中没有定义,但是如果幸运的话,有问题的JDBC驱动程序可以通过调用来返回完整的SQL
PreparedStatement#toString()。即
System.out.println(preparedStatement);
以我的经验,至少这样做是PostgreSQL 8.x和MySQL 5.x JDBC驱动程序。对于你的JDBC驱动程序不支持的情况,最好的选择是使用语句包装器,该包装器记录所有
setXxx()方法,最后
toString()根据记录的信息填充SQL字符串。例如Log4jdbc或P6Spy。



