【1】maven配置jar包依赖, 如下:

 <!-- 日志jar --><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.11.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.11.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>2.11.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.11.1</version></dependency></dependencies>

【2】配置log4j2.xml 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %l %msg%n"/></Console></Appenders><Loggers><Root level="error"><AppenderRef ref="Console"/></Root><Logger name="com.swjtu.crud.dao" level="DEBUG or TRACE" additivity="false"><AppenderRef ref="Console"/></Logger></Loggers>
</Configuration>

Logger 标签 配置了需要打印日志的mapper(Mapper类或mapper XML 文件所在包)

Logger标签中的 level属性取值为 DEBUG 或者 TRACE,(取其一)

【3】mybatis配置文件 mybatis-config.xml 中设置日志的工具类, 如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><properties resource="dbconfig.properties"></properties><settings><!-- 驼峰命名规则 --><setting name="mapUnderscoreToCamelCase" value="true"/><!-- 配置日志工具 --><setting name="logImpl" value="LOG4J2" /></settings><typeAliases><package name="com.swjtu.crud.bean" /></typeAliases><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins><environments default="development"><!-- 开发环境 --><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments><mappers><mapper resource="com\swjtu\crud\dao\dept.mapper.xml"/></mappers></configuration>

【4】日志打印效果:

20:35:28.742 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:181) ==>  Preparing: SELECT dept_id AS DEPT_ID , dept_name AS DEPT_NAME FROM dept_tbl WHERE rcrd_id IN ( ? , ? , ? )
20:35:28.786 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:181) ==> Parameters: 1(String), 2(String), 3(String)
20:35:28.807 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:181) <==      Total: 3

打印sql为:

<!-- 查询部门列表 --> <select id="getDeptList" resultType="map"> SELECT dept_id AS DEPT_ID , dept_name AS DEPT_NAMEFROM dept_tbl WHERE rcrd_id IN (<foreach collection="LIST" item="item" separator=", ">#{item} </foreach> ) </select>

References are as follows.

http://www.mybatis.org/mybatis-3/zh/logging.html

https://blog.csdn.net/honghailiang888/article/details/52594014

使用log4j2打印mybatis的sql执行日志相关推荐

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

    引入slf4j依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commo ...

  2. mybatis mysql 调用存储过程 多个返回值_图解MyBatis的SQL执行流程(干货)

    前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1.Mapper接口和映射文件是如何进行绑定的 2.MyB ...

  3. phalcon: Profiling分析 profilter / Plugin结合,dispatcher调度控制器 监听sql执行日志

    个人觉得profilter 跟 logger 功能差不多,logger的功能在于写入,profilter功能在于sql后及时显示分析.都是对sql执行的的分析:一个是写入log文件,一个是直接在页面展 ...

  4. mybatis日志能正常打印出正确sql执行语句;数据库有内容;却查询不出来

    首先是返回值封装为List的时候获取不到值:为单个对象的时候正常 这个是要执行的调试语句:发现执行完毕控制台如下:sql正确:对象和数据库关系映射也正确: //执行语句List<Object&g ...

  5. springboot默认日志log,控制台不打印mybatis sql执行日志解决办法

    增加配置 logging.level.com.XXX.mapper = debug

  6. mysql通用日志不打印_解决logback不打印mybatis的SQL日志的问题

    工作这么多年,今天还是因为Logback的这个问题稍微卡了一下,惭愧. 问题描述: logback配置了如下信息: ...此处省略File Appender内容 ${logbase}sql.%d{yy ...

  7. mysql数据库查询sql执行日志(linux环境)

    1.登录数据库确认是否开启了日志 2.查询日志文件 3.使用mysql自带的mysqlbinlog查询二进制文件 一.登录数据库确认是否开启了日志 mysql -uroot -p 登录成功之后查询操作 ...

  8. 查看Hive SQL执行日志

    yarn logs -applicationId <appID>

  9. log4j打印mybatis sql语句

    2019独角兽企业重金招聘Python工程师标准>>> Mybatis默认使用有slf4j 必须加上依赖 <dependency> <groupId>org. ...

最新文章

  1. clickhouse批量写入_交互式分析领域,为何 ClickHouse 能够杀出重围?
  2. java stringbuilder 替换字符串_java中的经典问题StringBuilder替换String
  3. Schama —— Xml文档约束技术 学习笔记
  4. linux大批量删除文件,Linux rm删除大批量文件
  5. 牛客练习赛44 C 小y的质数 (数论,容斥定理)
  6. 【摄影测量原理】第四章:解析空中三角测量
  7. 解决为什么导入了tomcat进入myeclipse却在server中找不到
  8. 降低深度学习开发门槛,“动态图+高层API”能带来多大的便利?
  9. linux 下安装minio并配置
  10. 在JavaScript中从base64字符串创建Blob
  11. 创建Django项目
  12. 六度空间理论(小世界理论)否定了结构洞的存在
  13. 智慧交通再改革,电子警察抓拍通信传输解决方案
  14. 中国支付清算协会发布《2022中国支付清算行业社会责任报告》
  15. 举头望明月打计算机术语,有趣的中秋节灯谜
  16. Vue 项目提示:`(Emitted value instead of an instance of Error) the “scope“ attribute for scoped slots
  17. Kanzi入门学习(二)
  18. iphone mysql壁纸,壁纸图片动态
  19. 有无孔孟之道,太阳照常升起
  20. 轴线图层设置_图层设置原则

热门文章

  1. Codeforces Round #715 (Div. 2) C. The Sports Festival 区间dp
  2. bzoj5093: [Lydsy1711月赛]图的价值
  3. 水题(water)(非详细解答)
  4. [2020-11-28 contest]素数(数学),精灵(区间dp),农夫约的假期(结论),观察(树链剖分lca+set)
  5. 学习手记(2021/3/19~?)
  6. P8207-[THUPC2022 初赛]最小公倍树【Kruskal】
  7. P2714-四元组统计【数论,容斥】
  8. 【2018.5.12】模拟赛之一-ssl2413 排名【玄学】
  9. ssl1759-求连通分量【图论,深搜,广搜】
  10. codeforces gym-101755 I-Guess the Tree 交互题、分治、树的直径