为了账号安全,请及时绑定邮箱和手机立即绑定

从java.sql.PreparedStatement 获取查询

从java.sql.PreparedStatement 获取查询

largeQ 2019-08-17 16:08:28
从java.sql.PreparedStatement 获取查询在我的代码我正在使用java.sql.PreparedStatement。然后我执行该setString()方法来填充预准备语句的通配符。在executeQuery()调用方法并执行查询之前,有没有办法检索(并打印出)最终查询?我只想将其用于调试目的。
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

这在JDBC API合同中没有任何定义,但如果你很幸运,有问题的JDBC驱动程序可以通过调用返回完整的SQL PreparedStatement#toString()。即

System.out.println(preparedStatement);

根据我的经验,这样做的至少是PostgreSQL 8.x和MySQL 5.x JDBC驱动程序。对于JDBC驱动程序不支持它的情况,最好的办法是使用一个语句包装器来记录所有setXxx()方法,最后toString()根据记录的信息填充一个SQL字符串。例如Log4jdbcP6Spy


查看完整回答
反对 回复 2019-08-17
  • 3 回答
  • 0 关注
  • 742 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号