http://blog.csdn.net/gao36951/article/details/53641432
**************************************************
問題描述
在使用mybatis進行開發的時候,由於可以動態拼接sql,這樣大大方便了我們。但是也有一定的問題,當我們動態sql拼接的塊很多的時候,我們要想從*mapper.xml中直接找出完整的sql就會非常的難,這個時候經常會需要把組合之后的完整sql調試出來比較好。下面來看兩種調試出sql的兩種方式
解決方案
方案1:
網上說的比較多的,之前也是這么用的一種方式
1:首先將ibatis log4j運行級別調到DEBUG可以在控制台打印出ibatis運行的sql語句
2:添加如下語句
###顯示SQL語句部分 log4j.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
方案2:
最近發現的一種方式,方便快捷
在mybatis.cfg.xml中增加如下配置
<settings>中增加 <setting name="logImpl" value="STDOUT_LOGGING" />
以上mybatis 調試出sql的兩種方式,Mark~~~
補充:
在spring boot 中,可以配置application.properties
# --- {Logging}
logging.level.com.neusoft.newsroom=INFO
logging.level.org.springframework.security=INFO
logging.level.org.hibernate=ERROR
logging.level.com.mypackage.domain.persistence=DEBUG
參考
http://www.mybatis.org/mybatis-3/zh/logging.html