在springboot的配置文件中添加配置
mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
可选的值如下所示#,默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:
- SLF4J
- Apache Commons Logging
- Log4j 2
- Log4j
- JDK logging
具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上面列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。
2.执行sql分析打印 2.1插件引入此功能依赖p6spy组件 完美的输出打印 SQL 及执行时长适用mp 3.1.0 以上版本,官方介绍该插件有性能损耗,不建议用于生产环境
pom.xml 配置:
p6spy p6spy 最新版本
application.yml 配置:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
url: jdbc:p6spy:h2:mem:test
创建spy.properties配置文件:
#3.2.1以上使用 modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory #3.2.1以下使用或者不配置 #modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory # 自定义日志打印 logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger #日志输出到控制台 appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger # 使用日志系统记录 sql #appender=com.p6spy.engine.spy.appender.Slf4JLogger # 设置 p6spy driver 代理 deregisterdrivers=true # 取消JDBC URL前缀 useprefix=true # 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. excludecategories=info,debug,result,commit,resultset # 日期格式 dateformat=yyyy-MM-dd HH:mm:ss # 实际驱动可多个 #driverlist=org.h2.Driver # 是否开启慢SQL记录 outagedetection=true # 慢SQL记录标准 2 秒 outagedetectioninterval=22.2 测试
打印出来消耗时间和最终执行的sql
2.3 总结Consume Time:23 ms 2022-06-13 15:31:52
Execute SQL:SELECt user_id,nick_name,sex,phonenumber,dept_id,login_date,avatar,del_flag,user_name,password,login_ip,email,status FROM sys_user
- driver-class-name 为 p6spy 提供的驱动类
- url 前缀为 jdbc:p6spy 跟着冒号为对应数据库连接地址
- 打印出 sql 为 null,在 excludecategories 增加 commit
- 批量操作不打印 sql,去除 excludecategories 中的 batch
- 批量操作打印重复的问题请使用 MybatisPlusLogFactory (3.2.1 新增)
- 该插件有性能损耗,不建议生产环境使用。



