使用增强型PreparedStatement向JDBC代码增加日志功能 - 编程入门网
发所有方法调用(例如 setLong(int, long) 和 setString(int,String) ) 到“真实语句”。在这样做之前它将保存相关的参数值,从而它们可以用于生成日志输出结果。
表3介绍了 LoggableStatement 类如何实现 java.sql.PreparedStatement ,以及它如何使用JDBC连接和SQL模板作为输入来构建。 表3:LoggableStatement实现java.sql.PreparedStatement
LoggableStatement如何工作 表4介绍了 LoggableStatement 如何向 saveQueryParamValue() 方法添加一个调用,以及在方法 setLong 和 setString 的“真实语句”上调用相应的方法。我们采用与用于参数设置的所有方法(例如 setChar 、 setLong 、 setRef 和 setObj )相同的方式来增加 saveQueryParamValue() 调用。表4还显示了在不调用 saveQueryParamValue() 的情况下如何封装方法 executeQuery ,因为它不是一个“参数设置”方法。 表4:LoggableStatement 方法
使用增强型PreparedStatement向JDBC代码增加日志功能(3)时间:2011-02-04 IBM Jens Wyke表5中显示了 saveQueryParamValue() 方法。它把每个参数值转换成 String 表示,保存以便 getQueryString 方法日后使用。缺省情况下,一个对象使用其 toString 方法将被转换成 String ,但如果对象是 String 或 Date ,它将用单引号('''')表示。 getQueryString() 方法使您能够从日志复制大多数查询并进行粘贴,无需修改交互式SQL处理器就可进行测试和调试。您可以根据需要修订该方法来转换其它类的参数值。 表5:saveQueryParamValue()方法
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |