如何解决从 python.sql.PreparedStatement 获取查询?
这在 JDBC API 合同中没有任何定义,但如果 的话,所讨论的 JDBC
驱动程序可能会通过调用PreparedStatement#toString()
. IE
System.out.println(preparedStatement);
根据我的经验,目前这样做的至少是 Postgresql 8.x 和 MysqL 5.x JDBC 驱动程序。
如果你的 JDBC
驱动程序不支持它,你最好的办法是使用一个语句包装器,它记录对setXxx()
方法的所有调用,最后toString()
根据记录的信息填充一个 sql
字符串。执行此操作的现有库是P6Spy。同时,向您的 JDBC
驱动程序的开发团队发布增强请求,并希望他们也能实现所需的toString()
行为。
解决方法
在我的代码中,我正在使用python.sql.PreparedStatement
.
然后我执行该setString()
方法来填充准备好的语句的通配符。
executeQuery()
有没有办法让我在调用方法并执行查询之前检索(并打印出)最终查询?我只是想要这个用于调试目的。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。