开始看网上的配置多数是这种格式
###显示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即可;