mybatis-plus开启sql日志打印

news/2025/2/26 7:04:23

方法一:

mybatis-plus:
  configuration:
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志

或者:

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl #关闭sql日志

方法二:

logging:
  level:
    com.app.mapper: debug

方法三:

引入官方插件

        <!-- https://mvnrepository.com/artifact/p6spy/p6spy -->
        <dependency>
            <groupId>p6spy</groupId>
            <artifactId>p6spy</artifactId>
            <version>3.9.1</version>
        </dependency>

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=2

mybatis-plus其他配置:

#  mybatis 的
mybatis:
  config-location: classpath:mybatis.cfg.xml    #  mybatis主配置文件所在路径
  type-aliases-package: com.demo.drools.entity  #  定义所有操作类的别名所在包
  mapper-locations: classpath:mapper/*.xml      #  所有的mapper映射文件
  configuration:
    # 开启驼峰uName自动映射到u_name
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    

# mybatis-plus相关配置
mybatis-plus:
  type‐aliases‐package: cn.itcast.mp.pojo  #  定义所有操作类的别名所在包
  # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
  mapper-locations: classpath:mapper/*.xml
  # 以下配置均有默认值,可以不设置
  global-config:
    banner: false #是否 mybatis-plus 在控制台输出的logo
    db-config:
      #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: auto
      #字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
      field-strategy: NOT_EMPTY
      #数据库类型
      db-type: MYSQL
      logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
  configuration:
    # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
    map-underscore-to-camel-case: true
    # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
    call-setters-on-nulls: true
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

mybatis-plus修改日志只打印SQL语句不打印查询结果

项目中使用了mybatis-plus baomidou,如果遇到了日志输出时 既打印SQL语句又打印查询出来的结果,如下:

在这里插入图片描述

如果想只打印SQL语句、不打印查询结果,解决方案如下:

增加log4j日志的配置。

logging:
  level:
   com.xxx.xxx.biz.mapper: debug

去掉mybatis-plus configuration log-impl控制台输出的配置。

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

修改后再执行DB操的输出结果:

在这里插入图片描述

就是log4j的形式输出,而不是控制台打印了,并且只输出SQL语句,如果debug调高级别,SQL语句也可以不输出。 


http://www.niftyadmin.cn/n/4054428.html

相关文章

phonegap(cordova) 自己定义插件代码篇(三)----支付宝支付工具整合

建议读者&#xff0c;先阅读官方文档&#xff0c;知晓其支付流程之后再来使用此代码&#xff0c;比方客户须要做什么&#xff0c;服务端须要做什么&#xff08;非常重要&#xff01;非常重要&#xff01;非常重要&#xff01;&#xff09;&#xff0c;由于这几个篇幅都是纯代码…

mybatis实现自定义分页插件

一、环境搭建 创建一个maven工程&#xff0c;然后引入mybatis依赖和mysql依赖即可。 <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.0.4</version> </dependency> <dependency…

Objective-C 引用计数原理

http://www.cocoachina.com/ios/20160112/14933.html 引用计数如何存储 有些对象如果支持使用 TaggedPointer&#xff0c;苹果会直接将其指针值作为引用计数返回&#xff1b;如果当前设备是 64 位环境并且使用 Objective-C 2.0&#xff0c;那么“一些”对象会使用其 isa 指针的…

使用Iterator对List集合进行增加或者删除操作时报异常的分析

一、问题 使用Iterator在对List集合进行遍历集合时&#xff0c;如果只是遍历而不进行增加、删除操作时&#xff0c;可以正常运行吗&#xff0c;但是如果我们在使用迭代器对List集合进行插入或者删除时&#xff0c;就会出现Exception in thread "main" java.util.Con…

SpringBoot实现本地(网络)文件下载和zip压缩包批量下载

一、前置条件 demo中&#xff0c;将多个文件通过zip的形式进行下载&#xff0c;所以需要引入以下maven坐标&#xff1a; <dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.20<…

SpringBoot整合Quartz实现分布式调度

一、摘要 springboot quartz mysql 实现持久化分布式调度集群环境任务调度测试 二、Quartz 集群架构 Quartz 是 Java 领域最著名的开源任务调度工具。 在上篇文章中&#xff0c;我们详细的介绍了 Quartz 的单体应用实践&#xff0c;如果只在单体环境中应用&#xff0c;Qua…

PHP扩展开发教程(总结)

2019独角兽企业重金招聘Python工程师标准>>> http://www.jb51.net/article/74326.htm 转载于:https://my.oschina.net/u/1762916/blog/1489807

React Native在特赞的应用与实践

基于React技术栈构建开发前端项目&#xff0c;并使用React Native开发特赞移动APP 目前正在使用Node.js开发和维护特赞服务网关&#xff0c;希望Node.js能够在更轻量级的微服务架构中发挥重要作用 课程介绍&#xff1a; React Native在特赞的应用与实践 课程摘要&#xff1a; A…