MyBatis-Plus 打印 SQL 语句的两种常用配置方法
在使用 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 打印效果,请按以下步骤检查:
- 拼写检查:重点检查
log-impl后的类名是否完全正确,特别是StdOutImpl的大小写拼写。 - 配置生效范围:确保配置文件被 Spring Boot 正确加载。如果使用 Nacos 等配置中心,需确认配置的命名空间和 Group 是否与当前环境一致。
- 包路径匹配:若使用方式二,请确认
logging.level下的包路径是否真正覆盖了你的 Mapper 接口所在目录。
以上就是 MyBatis-Plus 配置 SQL 语句打印的详细内容,更多关于 MyBatis-Plus 数据库调试技巧的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









