例如:Product.xml文件里面有<select id="getProduct" resultClass="product" parameterClass="string" cacheModel="productCache">
    SELECT
      PRODUCTID,
      NAME,
      DESCN as description,
      CATEGORY as categoryId
    FROM PRODUCT
    WHERE PRODUCTID = #productId#
  </select>
在接口实现类中使用了以下方法public Product getProduct(String productId) {
    return (Product) queryForObject("getProduct", productId);
  }执行完了以后如果得到这条被执行过的sql???如果PRODUCTID是123 那么queryForObject执行后的sql应该是下面这个样子
SELECT PRODUCTID,NAME,DESCN as description,CATEGORY as categoryId FROM PRODUCT WHERE PRODUCTID = '123'如何在程序里面,拿到这条sql?????
请高人支招!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    LZ能不能说清楚点啊,没看懂,我是写IBATIS的
      

  2.   

    应该可以使用日志功能输出的,就像hibernate一样……
      

  3.   

    我感觉没有把问题全部说出来的。SQLMAP是怎样配置?以及相关的类
      

  4.   

    如果你想做控制台,或日志文件看到,可以配个log4j.properties文件
    内容如下:
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%nlog4j.logger.com.ibatis=debug
    log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
    log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
    log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
    log4j.logger.java.sql.Connection=debug
    log4j.logger.java.sql.Statement=debug
    log4j.logger.java.sql.PreparedStatement=debug 
    如果你想做程序得到,请查看ibatis源码
      

  5.   


    log4j.logger.java.sql.Connection=debug
    log4j.logger.java.sql.Statement=debug
    log4j.logger.java.sql.PreparedStatement=debug 用log4j加上上面的三句话就可以了。
      

  6.   


    在XML文件中,怎么写啊?