WEB开发网
开发学院软件开发Java JDBC 查询日志变得简单:使用增强型PreparedState... 阅读

JDBC 查询日志变得简单:使用增强型PreparedStatement向JDBC代码增加日志功能

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: LoggableStatement如何工作表4介绍了 LoggableStatement 如何向 saveQueryParamValue() 方法添加一个调用,以及在方法 setLong 和 setString 的“真实语句”上调用相应的方法,JDBC 查询日志变得简单:

LoggableStatement如何工作

表4介绍了 LoggableStatement 如何向 saveQueryParamValue() 方法添加一个调用,以及在方法 setLong 和 setString 的“真实语句”上调用相应的方法。我们采用与用于参数设置的所有方法(例如 setChar 、 setLong 、 setRef 和 setObj )相同的方式来增加 saveQueryParamValue() 调用。表4还显示了在不调用 saveQueryParamValue() 的情况下如何封装方法 executeQuery ,因为它不是一个“参数设置”方法。


表4:LoggableStatement 方法
   public void setLong(int parameterIndex, long x) 
     throws java.sql.SQLException { 
   wrappedStatement.setLong(parameterIndex, x); 
   saveQueryParamValue(parameterIndex, new Long(x)); 
  } 
  public void setString(int parameterIndex, String x) 
    throws java.sql.SQLException { 
   wrappedStatement.setString(parameterIndex, x); 
   saveQueryParamValue(parameterIndex, x); 
  } 
 public ResultSet executeQuery() throws java.sql.SQLException { 
   return wrappedStatement.executeQuery(); 
  } 

表5中显示了 saveQueryParamValue() 方法。它把每个参数值转换成 String 表示,保存以便 getQueryString 方法日后使用。缺省情况下,一个对象使用其 toString 方法将被转换成 String ,但如果对象是 String 或 Date ,它将用单引号('')表示。 getQueryString() 方法使您能够从日志复制大多数查询并进行粘贴,无需修改交互式SQL处理器就可进行测试和调试。您可以根据需要修订该方法来转换其它类的参数值。

上一页  1 2 3 4 5  下一页

Tags:JDBC 查询 日志

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接