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

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

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 定制解决方案我们的 PreparedStatement 定制实施将做为围绕JDBC驱动器提供的“真实语句(real statement)”的封装器(Wrapper),封装器语句将转发所有方法调用(例如 setLong(int, long) 和 setString(int,

定制解决方案

我们的 PreparedStatement 定制实施将做为围绕JDBC驱动器提供的“真实语句(real statement)”的封装器(Wrapper)。封装器语句将转发所有方法调用(例如 setLong(int, long) 和 setString(int,String) ) 到“真实语句”。在这样做之前它将保存相关的参数值,从而它们可以用于生成日志输出结果。

表3介绍了 LoggableStatement 类如何实现 java.sql.PreparedStatement ,以及它如何使用JDBC连接和SQL模板作为输入来构建。


表3:LoggableStatement实现java.sql.PreparedStatement
 public class LoggableStatement implements java.sql.PreparedStatement { 
   // used for storing parameter values needed 
   // for producing log 
   private ArrayList parameterValues;   
      
   // the query string with question marks as  
   // parameter placeholders 
   private String sqlTemplate;    
        
   // a statement created from a real database   
   // connection                    
   private PreparedStatement wrappedStatement; 
                         
  public LoggableStatement(Connection connection, String sql) 
   throws SQLException { 
   // use connection to make a prepared statement 
   wrappedStatement = connection.prepareStatement(sql); 
   sqlTemplate = sql; 
   parameterValues = new ArrayList(); 
  } 
   } 

上一页  1 2 3 4 5  下一页

Tags:JDBC 查询 日志

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