開始看網上的配置多數是這種格式
###顯示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
但是我試了很久都沒有成功,
而且網上有的加上了
log4j.rootLogger=DEBUG, stdout
其實 加上這句話的話, 不需要加mybatis的那些配置,日志也能打印了,但是會有很多無用的日志或者我們不關心的日志都打印出來了。
最后有兩種方法可以實現mybatis打印sql。
一、 mybatis自帶的settings
<settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings>
只需要在mybatis-config.xmi中加入這句話即可;(configuration下的標簽有順序,否則會報錯:properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,
objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)
二、利用LOG4J
在log4j.properties中
log4j.logger.com.demo.mapper=DEBUG
其實只要在你的dao層,也就是mapper的接口層日志等級設置為DEBUG即可;