<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">仅以此片记述血泪史。</span>
1. mybatis打印sql时,log4j.properties里面的配置网上一大坨,几乎都是正确的。
不过在此还是贴一下,需要注意的是mybatis的sql输出运行在rootLogger指定为debug模式下:
log4j.rootLogger=debug, ServerDailyRollingFile, stdout
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=d:/notify-subscription.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
log4j.appender.ServerDailyRollingFile.Append=true
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
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,stdout
2. jar包相关
仅需要log4j.jar,不可以有slf4j.jar(我就是栽在这儿),
如果项目里必须使用slf4j.jar,则必须添加slf4j-log.jar以打印mybatis的sql。
否则,在启动tomcat时,会报如下警告,而因为它是警告,我一直迟迟未理睬。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
如上两步之后,mybatis的sql终于在一天的努力之后出来了。
另外,maven默认链接的ibiblio镜像比较慢,可以换成oschina的。
将maven的settings.xml配置改为如下:
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>