MyBatis-Plus 打印 SQL 语句的两种常用配置方法

陆景行
陆景行
发布时间:2026-10-16 | 5人浏览过
原创

在使用 MyBatis-Plus 进行开发时,实时查看生成的 SQL 语句是排查数据异常的关键步骤。本文总结了两种常用的 SQL 打印配置方案:一种是通过 log-impl 输出详细的 SQL 及结果集,适合深度调试;另一种是通过日志级别控制仅打印 SQL 语句和执行影响行数,避免控制台刷屏。同时提供了 YAML 和 Properties 两种配置格式的具体写法。

第一种方式:启用详细 SQL 日志实现类

这种方式通过指定 MyBatis 底层的日志实现类,将完整的 SQL 语句、参数值、执行结果数据集及条数等详细信息打印到控制台。在本地调试阶段非常有用,能清晰看到每次执行的完整上下文。

第1步:配置 application.yml

如果使用 YAML 格式的配置文件,需要在 mybatis-plus 节点下添加配置:

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

第2步:配置 application.properties

如果使用 Properties 格式的配置文件,需遵循层级缩进转换为点号连接的语法:

# mybatis-plus配置控制台打印完整带参数SQL语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

注意:配置完成后,控制台会输出极其详细的日志。如果查询返回的数据量较大,可能会导致日志刷屏,影响阅读效率。因此,该方式更适合在开发环境中针对特定接口进行精细调试。

第二种方式:调整日志级别过滤输出

这种方式不依赖 MyBatis-Plus 特有的日志实现类,而是通过调节对应 Mapper/DAO 包的日志级别来实现。它只打印 SQL 语句本身以及执行后的受影响行数(或结果集数量),不会展开具体的结果数据内容,适合日常开发中对性能有一定要求的场景。

第1步:确定包路径

首先需要确认项目中 Mapper 或 DAO 接口的具体包名。例如: com.example.project.dao(具体路径请根据实际项目结构调整)。

第2步:配置 logging.level

在配置文件中设置对应包的路径为 debug 级别:

logging:
  level:
    com:
      example:
        project:
          dao: debug

说明:当包路径设置为 debug 时,MyBatis 会记录 SQL 的执行语句。此方法输出的日志较为简洁,通常能满足“确认 SQL 是否正确生成”的需求,且不会产生大量结果集数据导致的日志噪音。

常见问题排查

如果在配置后未观察到预期的 SQL 打印效果,请按以下步骤检查:

  1. 拼写检查:重点检查 log-impl 后的类名是否完全正确,特别是 StdOutImpl 的大小写拼写。
  2. 配置生效范围:确保配置文件被 Spring Boot 正确加载。如果使用 Nacos 等配置中心,需确认配置的命名空间和 Group 是否与当前环境一致。
  3. 包路径匹配:若使用方式二,请确认 logging.level 下的包路径是否真正覆盖了你的 Mapper 接口所在目录。

以上就是 MyBatis-Plus 配置 SQL 语句打印的详细内容,更多关于 MyBatis-Plus 数据库调试技巧的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表