使用mybatis 的时候,调试sql语句和打印sql最好的办法就是在控制将sql语句打印出来,一般在线上打印日志级别是,info,和stdout
#log4j.rootLogger=info,stdout #log4j.appender.stdout=org.apache.log4j.ConsoleAppender #log4j.appender.stdout.layout=org.apache.log4j.PatternLayout #log4j.appender.stdout.layout.ConversionPattern=%d %p %t [%c] - %m%n #log4j.appender.file=org.apache.log4j.RollingFileAppender #log4j.appender.file.File=${catalina.home}/logs/cashloan #log4j.appender.file.DatePattern = '_'yyyy-MM-dd-HH'.log' #log4j.appender.file.encoding=UTF-8 #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式:
- SLF4J
- Apache Commons Logging
- Log4j 2
- Log4j
- JDK logging
具体选择哪个日志实现由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。
不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。记住这点非常重要。
所以一般mybatis总体配置是这样的,控制台输出sql语句DEBUG,Console
log4j.rootLogger=DEBUG,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t] [%c] [%p] - %m%n
log4j.logger.com.mybatis=DEBUG /
##输出sql 语句
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG</strong>
启动项目可以看到打印的信息;分别是请求路径,和请求参数
可以看到打印日志;
所以详情可以看到日志信息还是很多内容的