相关疑难解决方法(0)

从java.sql.PreparedStatement获取查询

在我的代码我正在使用java.sql.PreparedStatement.

然后我执行该setString()方法来填充预准备语句的通配符.

executeQuery()调用方法并执行查询之前,有没有办法检索(并打印出)最终查询?我只想将其用于调试目的.

java jdbc prepared-statement

154
推荐指数
6
解决办法
28万
查看次数

如何获取PreparedStatement的SQL?

我有一个通用的Java方法,具有以下方法签名:

private static ResultSet runSQLResultSet(String sql, Object... queryParams)
Run Code Online (Sandbox Code Playgroud)

它打开一个连接,PreparedStatement使用sql语句和queryParams变量长度数组中的参数构建一个,运行它,缓存ResultSet(在a中CachedRowSetImpl),关闭连接,并返回缓存的结果集.

我在记录错误的方法中有异常处理.我将sql语句记录为日志的一部分,因为它对调试很有帮助.我的问题是记录String变量会sql使用?而不是实际值记录模板语句.我想记录已执行(或尝试执行)的实际语句.

那么......有没有办法获得将由a运行的实际SQL语句PreparedStatement?(没有自己构建它.如果我找不到访问PreparedStatement'sSQL的方法,我可能最终会自己构建它catch.)

java sql jdbc prepared-statement

150
推荐指数
5
解决办法
23万
查看次数

标签 统计

java ×2

jdbc ×2

prepared-statement ×2

sql ×1