精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-09-23
String sql="select * from table where field1=? and field2=? " ... preparedStatement.setString(1,"a"); preparedStatement.setString(2,"b"); 怎样才能获取 preparedStatement的参数值a,b? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-09-23
好像是这个方法.
getParameterMetaData ParameterMetaData getParameterMetaData() throws SQLException检索此 PreparedStatement 对象的参数的编号、类型和属性。 返回: 一个 ParameterMetaData 对象,它包含有关此 PreparedStatement 对象的参数的编号、类型和属性的信息 抛出: SQLException - 如果发生数据库访问错误 不过还是不明白,"select * from table where field=? and field=?" 我想设置的参数应该是通过函数参数传递过来, 获取 preparedStatement的参数值a,b又有什么意义?? |
|
返回顶楼 | |
发表时间:2006-09-23
ParameterMetaData 没有获取参数值的方法。
我是想在PreparedStatement绑定参数后,把SQL(含设置后的参数值)log出来 |
|
返回顶楼 | |
发表时间:2006-09-23
ibm有篇现成的文章,通过装饰模式来实现. http://www-128.ibm.com/developerworks/cn/java/j-loggable/j-loggable.zip http://www-128.ibm.com/developerworks/cn/java/j-loggable/index.html JDBC 查询日志变得简单 使用增强型PreparedStatement向JDBC代码增加日志功能 级别: 初级 Jens Wyke, 顾问, IBM 2003 年 7 月 17 日 |
|
返回顶楼 | |
发表时间:2006-09-23
谢谢楼上,不过那个j-loggable不能直接用,没有全部实现PrepareStatement接口
|
|
返回顶楼 | |
发表时间:2006-09-24
各位是通过什么方式打印出PrepareStatement设置参数后的SQL?
|
|
返回顶楼 | |
发表时间:2006-09-25
用p6spy,设置一下就行
|
|
返回顶楼 | |
发表时间:2006-09-25
用了一下p6spy还不错,但是能否修改p6spy的输出格式?
未赋值的statement不想显示,否则有点乱 |
|
返回顶楼 | |
发表时间:2006-09-25
OK,可以了,修改了一下P6spy的源码
|
|
返回顶楼 | |
发表时间:2007-02-12
这个应该有很多人会用到,能否共享一下?
|
|
返回顶楼 | |