我在Java程序中使用了PreparedStatement。我需要调试SQL查询,因为它不能正常工作。
是否可以使用插入的值打印已使用的SQL语句
例如在PreparedStatement中:
从表中选择*,其中a =?
而不是我设置?
我可以打印使用过的SQL,例如:
从表中选择*,其中a = 1
答案 0 :(得分:3)
使用java.sql.PreparedStatement
接口本身无法完成;它取决于您的数据库供应商的实施。
但你很幸运; MySQL驱动程序允许您使用其toString
实现来执行此操作:
您需要注意,使用此特定于供应商的功能会将您的代码绑定到MySQL。您无法在不更改代码的情况下更改数据库。