mybatis 开启日志记录 打印sql语句

使用mybatis 的时候 ,无法查看sql 语句 !!非常不方便调试程序,所以 配置了日志记录输出sql  ,在控制台打印,

1.要配置mybatis 使用log4j 记录日志,  导入 log4j.jar 支持包, 参考mybatis 使用说明


      引用mybatis 的使用说明 关于日志的如下:

Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式:

  • SLF4J
  • Apache Commons Logging
  • Log4j 2
  • Log4j
  • JDK logging

具体选择哪个日志实现由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,

日志功能就会被禁用。

不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。

记住这点非常重要。

这意味着,在诸如 WebSphere的环境中——WebSphere提供了Commons Logging的私有实现,你的Log4J配置将被忽略。 这种做法不免让人悲摧,

MyBatis怎么能忽略你的配置呢?事实上,因Commons Logging已经存 在,按优先级Log4J自然就被忽略了!

需要配置mybatis 使用log4j 如下

在mybatis 的总体配置文件中配置:


2.在src 目录下(部署后在classpath路径)

log4j.properties

我因为只需要在控制台查看sql代码所以只配置了下面的

log4j 的详细配置网上有很多

## debug 级别

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 


就可以在控制台查看了!!


转自:https://blog.csdn.net/duoluodezhu0826/article/details/65633557

你可能感兴趣的:(java)