2015-01-06 34 views
0

我正在將開發人員工具作爲Web服務。其中一個要求是開發人員工具應該能夠將MyBatis使用的準備好的語句作爲字符串返回。但是,我不太清楚如何獲取MyBatis使用的準備好的sql語句作爲對象。如何獲取在Mybatis中生成的字符串的準備語句

任何提示將是偉大的。

經過進一步調查。我偶然發現了這個帖子:

How can I get the SQL of a PreparedStatement?

但是,我仍然想知道是否有任何方法可以實際聯繫服務器並查看已分析的準備好的SQL語句?即檢查我的數據庫或某個連接模板的日誌?

+0

看看這有助於http://stackoverflow.com/questions/13195144/can-i-use-mybatis-to-generate-dynamic-sql-without-executing-it/ – Bogdan

回答

0

您可以使用Mybatis記錄SQL語句。
它產生SQL語句準備登錄象下面這樣:

Preparing: SELECT USER_ID AS userId, PASSWORD AS password, USER_NAME AS userName FROM USER_MST WHERE USER_NAME = ? AND PASSWORD = ? AND DELETE_FLAG = 0 
Parameters: test_uname(String), test_pass(String) 

Here是MyBatis的日誌文件。

以下是mybatis的示例日誌配置。

<?xml version="1.0" encoding="UTF-8"?> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" 
    debug="false"> 

    <appender name="APPLICATION" class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="file" value="C:/log/mybatis.log" /> 
     <param name="MaxBackupIndex" value="10" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} |%5p| [%c] | %m%n" /> 
     </layout> 
    </appender> 


    <logger name="YourMapperXML" additivity="false"> 
     <level value="DEBUG" /> 
     <appender-ref ref="APPLICATION" /> 
    </logger> 


</log4j:configuration> 
相關問題