不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:php-note.com  发布于:2018-06-10 00:36  分类:Java基础  编辑

方法一:使用标准输出

MyBatis 的配置文件 Configuration 中有相关属性,设属性即可,不用再放一个 log4j.properties 文件。

<configuration>
    <settings>
        ……
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

配置完成后,在 IDE 的控制台下可以看到程序运行过程中的 SQL,参数,返回结果等。

方法二:使用第三方日志库

可以参照 API 文档,mybatis - MyBatis 3 中关于 settings 的描述

如需要第三方日志,在项目 src 目录下放相应的配置文件即可。MyBatis 会自动识别。

参照文档,可以看到 mybatis 支持这些日志:

  • SLF4J
  • LOG4J
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING
  • NO_LOGGING

 这里以 LOG4J 为例:

第一步:配置 Maven 的 pom.xml 文件

<!--【log4j 日志组件】-->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

第二步:配置 MyBatis,如 src/main/resources/mybatis-config.xml

<configuration>
    <settings>
        ……
        <setting name="logImpl" value="LOG4J"/>
    </settings>
</configuration>

第三步:配置 LOG4J,如 src/main/resources/log4j.properties

log4j.rootLogger=DEBUG, Console

## Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.appender.Console.layout.ConversionPattern=%d %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

控制台输出效果:

2018-06-10 00:47:28,832 DEBUG [org.springframework.web.servlet.DispatcherServlet] - DispatcherServlet with name 'lesjava-blog' processing GET request for [/user/info]
2018-06-10 00:47:28,839 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Looking up handler method for path /user/info
2018-06-10 00:47:28,844 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Returning handler method [public void com.lesjava.blog.controller.UserController.getUserInfo()]
2018-06-10 00:47:28,845 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'userController'
2018-06-10 00:47:28,846 DEBUG [org.springframework.web.servlet.DispatcherServlet] - Last-Modified value for [/user/info] is: -1

2018-06-10 00:47:29,748 DEBUG [com.lesjava.blog.mapper.UserMapper.addUser] - ==>  Preparing: insert into user (user_name,password,age) values (?, ?, ?) 
2018-06-10 00:47:29,765 DEBUG [com.lesjava.blog.mapper.UserMapper.addUser] - ==> Parameters: 温建宝(String), 123456(String), 18(Integer)
2018-06-10 00:47:29,766 DEBUG [com.lesjava.blog.mapper.UserMapper.addUser] - <==    Updates: 1

## 上面 就是输出的 SQL 语句 以及 传入的参数
##

 

温馨提示:建议采用方法二,使用 LOG4J 库,更专业些

 

 

参考:https://www.zhihu.com/question/20091325