1. <strong>#########################################################################
  2. #Root Logger
  3. #log4j.rootLogger = [ level ] , appenderName, appenderName,
  4. #ConversionPattern:%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n
  5. #FilePath =  /opt/uploads/maven_logs/maven_web.log
  6. #########################################################################
  7. #将Mybatis log4j运行级别调到DEBUG可以在控制台打印出Mybatis运行的sql语句
  8. log4j.rootLogger=DEBUG,Console,File
  9. ### 把日志信息输出到控制台 ###
  10. log4j.appender.Console=org.apache.log4j.ConsoleAppender
  11. log4j.appender.Console.Target=System.out
  12. log4j.appender.Console.layout = org.apache.log4j.PatternLayout
  13. log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n
  14. ### 把日志信息输出到文件:/opt/uploads/maven_logs/maven_web.log ###
  15. log4j.appender.File = org.apache.log4j.DailyRollingFileAppender
  16. log4j.appender.File.File = /opt/uploads/maven_logs/maven_web.log
  17. log4j.appender.File.Threshold = DEBUG
  18. log4j.appender.File.layout = org.apache.log4j.PatternLayout
  19. log4j.appender.File.layout.ConversionPattern =%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n
  20. ###显示SQL语句部分
  21. log4j.logger.com.mybatis=DEBUG
  22. log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
  23. log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
  24. log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
  25. log4j.logger.java.sql.Connection=DEBUG
  26. log4j.logger.java.sql.Statement=DEBUG
  27. log4j.logger.java.sql.PreparedStatement=DEBUG</strong>

 各位看官,我这番配置是没问题吧?

但是在控制台SQL死活不出来。上网search...

很多很多,看的我眼花缭乱,像什么配置不通(此处槽点,我只是SQL语句打印不出来,其他一切正常,因此忽略)、需要slf4j-api-1.6.1.jar和slf4j-log4j12.-1.6.1.jar (maven库中有,忽略!),然后就是在网上找别人的配置,但是并没有什么卵用!

我急啊!

直接去mybatis文档查,兴许会有关于log的......

功夫不负有心人,果然有!摘抄一段:

  1. Logging
  2. Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:
  3. SLF4J
  4. Apache Commons Logging
  5. Log4j 2
  6. Log4j
  7. JDK logging
  8. <span style="color: #ff0000;">具体选择哪个日志实现工具由MyBatis的内置日志工厂确定</span>。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。
  9. 不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。记住这点非常重要。这将意味着,在诸如 WebSphere的环境中——WebSphere提供了Commons Logging的私有实现,你的Log4J配置将被忽略。 这种做法不免让人悲催,MyBatis怎么能忽略你的配置呢?事实上,因Commons Logging已经存 在了,按照优先级顺序,Log4J自然就被忽略了!

我去!mybatis还会这么玩啊!搞死我了。但是文档中并有直接说明如何通过修改配置文件实现,但是这个文档提供了对log4j的详细配置,值得看一下。文档中说了一大堆代码实现的,不喜欢这种。既然给了思路了是mybatis搞的鬼, 那就继续上网找资料...

终于,碰到了好心人,解了我的惑!

好心人链接中有,我这儿在赘述一遍:

在mybatis-config.xml配置文件中:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  4. <configuration>
  5. <properties>
  6. <property name="dialect" value="mysql" />
  7. </properties>
  8. <settings>
  9. <setting name="logImpl" value="LOG4J" />
  10. </settings>
  11. </configuration>

重要的是:

  1. <setting name="logImpl" value="LOG4J" />

在mybatis的配置文件中:setting节点里配置的值会直接改写Configuration对应的变量值,这些变量描述的是Mybatis的全局运行方式,如果对这些属性的含义不熟悉的话建议不要配置,使用默认值即可。

具体的各位看官,自行查找资料,此处不做过多赘述...

OK!

技能get!

解决了!!。。。世界和平了, 阿门。。。先写到这...头昏脑涨的

【转】 mybatis如何在控制台打印执行的sql语句的更多相关文章

  1. mybatis如何在控制台打印执行的sql语句

    log4j.rootLogger=DEBUG, Console #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log ...

  2. mybatis 控制台打印执行的SQL语句

    1. Spring boot 集成 mybatis [转载]SpringBoot中Mybatis打印sql 1.1 如果使用的是application.properties文件,加入如下配置: log ...

  3. mybatis控制台打印执行的sql语句

  4. Spring Boot 整合MaBatis如何在控制台打印执行的SQL语句

    yml文件:logging: level: com.XXX.Mapper: debug (红色部分为Dao层的包名,注意不是XML文件的包名) properties文件: logging.level. ...

  5. 使用MyBatis在控制台动态打印执行的sql语句

    使用MyBatis进行数据库操作的时候,sql语句都是写在相应的mapper文件中,参数也是使用占位符取值表示的,mapper文件中看不到实时执行的完整sql,有时候sql语句错误或者参数类型不对的时 ...

  6. MyBatis7:MyBatis插件及示例----打印每条SQL语句及其执行时间

    Plugins 摘一段来自MyBatis官方文档的文字. MyBatis允许你在某一点拦截已映射语句执行的调用.默认情况下,MyBatis允许使用插件来拦截方法调用 Executor(update.q ...

  7. MyBatis插件及示例----打印每条SQL语句及其执行时间

    Plugins 摘一段来自MyBatis官方文档的文字. MyBatis允许你在某一点拦截已映射语句执行的调用.默认情况下,MyBatis允许使用插件来拦截方法调用 Executor(update.q ...

  8. Mybatis中在log日志或控制台打印执行的sql

    最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml ...

  9. Mybatis-第N篇配置log4j1、log4j2打印执行的sql语句

    1.log4j1配置 目录结构: conf.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...

随机推荐

  1. yarn_action

    https://maprdocs.mapr.com/home/AdministratorGuide/ResourceAllocation-YARNContainer.html yarn.schedul ...

  2. 用于string对象中字符截取的几种函数总结——语法、参数意义及用途举例

    1. charAt():返回指定位置的字符. 语法:stringObject.charAt(index) 参数意义:index  必需,指字符在字符串中的下标.需要注意的是,字符串中第一个字符的下标是 ...

  3. 我的Android进阶之旅------>Ubuntu下不能识别Android设备的解决方法

    Bus 001 Device 006: ID 1b20:0c81 MStar Semiconductor, Inc.      今天不知道Ubuntu发了什么疯,昨天还用的好好的,今天就突然不能识别我 ...

  4. Hadoop基础学习(一)分析、编写并执行WordCount词频统计程序

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiq408694711/article/details/34181439 前面已经在我的Ubuntu ...

  5. webpack不同devtools打包对比

    测试所用的配置文件: const path = require('path'); const HtmlWebpackPlugin= require('html-webpack-plugin'); co ...

  6. 架构设计:系统间通信(34)——被神化的ESB(上)

    1.概述 从本篇文章开始,我们将花一到两篇的篇幅介绍ESB(企业服务总线)技术的基本概念,为读者们理清多个和ESB技术有关名词.我们还将在其中为读者阐述什么情况下应该使用ESB技术.接下来,为了加深读 ...

  7. UEditor上传文件的默认地址修改

    using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text.Re ...

  8. TCP/IP协议数据包文件PCAP分析器

    一.设计原理 1.PCAP文件构成 参考http://blog.csdn.net/gulu_gulu_jp/article/details/50494909 PCAP文件由一个PCAP文件头和多个PC ...

  9. JAVA- JSP中解决无法在Cookie当中保存中文字符的问题

    因为cookie的值是ASCII字符,不能直接把自定义cookie的值直接赋值为中文,但是要实现这个功能,还是有方法的. 1.java中已经给我们提供了方法,此时只需要导入该包就行 <%@ pa ...

  10. mybatis进行分页,使用limit

    这里记录两个思路: 首先是写一个不能执行的代码. <select id="query" parameterType="map" resultType=&q ...