zoukankan      html  css  js  c++  java
  • 【他山之石】mybatis打印sql日志 相关配置

    背景:mybatis的sql日志打印对我来说一直比较迷,哪怕看过网上很多博客后还是这样,这两天刚好又遇到了问题,要查sql不得已又来查阅,这次终于搞定了。

    mybatis是有提供日志功能支持的,目前支持的日志实现有

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

    但是如果web系统中有多种日志实现的话,将按照从上往下的顺序选择使用一个日志实现。

    而如果想要指定使用特定的日志实现,需要在mybatis配置文件中添加一个名称为logImpl的setting项

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

    logImpl的取值有SLF4J、COMMONS_LOGGING、LOG4J2、LOG4J、JDK_LOGGING、STDOUT_LOGGING、NO_LOGGING 

    当然也有自定义的方式,这里不表,详情可查看官方文档,点击这里

    修改完以上设置外接下来就是针对具体日志实现的设置,以log4j为例

    MyBatis可以对包、类、命名空间和全限定的语句记录日志,想要打印具体级别的日志只需要在对应配置文件中作对应设置:

    举例来说,我们这里有一个mapper文件,想要打印改文件中的sql语句应该怎么实现呢?

    <mapper namespace="com.yifenqi.webapp.mapper.ILendingOrdersMapper">
       <resultMap id="lendOrdersMap" type="lendingOrders">
          <id column="id" property="id" jdbcType="INTEGER" />
        ……
    </mapper>

    答案是:在log4j的配置文件如log4j.properties中这样写

    log4j.logger.com.yifenqi.webapp.mapper.ILendingOrdersMapper=trace
  • 相关阅读:
    java Semaphore的介绍和使用
    java CyclicBarrier的介绍和使用
    java CountDownLatch 使用介绍
    android模拟器不能上网设置
    计算几何题集
    BZOJ1004: [HNOI2008]Cards
    BZOJ1029: [JSOI2007]建筑抢修
    BZOJ1037: [ZJOI2008]生日聚会Party
    BZOJ1083: [SCOI2005]繁忙的都市
    Java开发笔记(一百一十四)利用Socket传输文本消息
  • 原文地址:https://www.cnblogs.com/bityinjd/p/8203866.html
Copyright © 2011-2022 走看看