从java.sql.PreparedStatement获取查询
在我的代码中,我正在使用java.sql.PreparedStatement
。
然后,我执行该setString()
方法以填充准备好的语句的通配符。
在executeQuery()
调用该方法并执行查询之前,我是否有办法检索(并打印出)最终查询?我只想将此用于调试目的。
回答:
这在JDBC API合同中没有定义,但是如果幸运的话,有问题的JDBC驱动程序可以通过调用来返回完整的SQL PreparedStatement#toString()
。即
System.out.println(preparedStatement);
以我的经验,至少这样做是PostgreSQL 8.x和MySQL 5.x JDBC驱动程序。对于你的JDBC驱动程序不支持的情况,最好的选择是使用语句包装器,该包装器记录所有setXxx()
方法,最后toString()
根据记录的信息填充SQL字符串。例如Log4jdbc或P6Spy。
以上是 从java.sql.PreparedStatement获取查询 的全部内容, 来源链接: utcz.com/qa/422808.html