[pig4cloud框架源码分析] 03 - MyBatis中的sql语句日志打印

导读

使用MyBatis开发过程中,经常遇到sql执行失败的情况,这时候定位问题一般就会查看最终执行的sql语句。今天要讨论但就是pig4cloud框架的sql语句显示问题。

pig4cloud框架配置

遇到这个问题的时候,找了各种资料,也尝试了很多方案,都没达到效果,直到后来偶然发现pig4cloud作者冷冷博文:Mybatis 敏捷开发之快速查看目标执行SQL https://cloud.tencent.com/developer/article/1435961

操作步骤如下:

  • 打开配置文件bootstrap.yml
  • 配置中增加配置项logging.level.{{包名}}=debug
    在这里插入图片描述

最终,我们可以看到如下所示的sql日志了!!! 在这里插入图片描述

Mybatis Log Plugin

从上面的文章我们已经拿到了sql模板语句(预编译语句)参数。对于复杂的参数,我们仍然很难直观的得到最终的sql语句
针对这个问题,IDEA插件Mybatis Log Plugin应用而生。

插件开启方式

  • 菜单方式:工具 ==> Mybatis Log Plugin
  • 快捷键方式:Ctrl+Alt+Shift+O

插件说明

IDEA插件设置中,我们可以看到如下描述:
Mybatis Log Plugin
插件界面的最终运行效果如下图:
在这里插入图片描述

从上面两幅图中,我们总结Mybatis Log Plugin插件有如下作用:

  • 展示最终执行的sql语句
  • SELECT语句是红色字体高亮显示的,其他语句白色字体
  • SELECT语句格式化了,方便查看
  • 每个sql语句都包含了通用信息(索引、时间、日志级别、线程、调用函数Mapper
  • 必须开启了日志,才能得到解析结果。

【TODO】源码分析

暂时没找到pig4cloud框架从配置到日志输出的整体流程,以后再补全吧。
参考文章:

拦截器方案实现sql日志查看

参考文章:MybatisPlus自定义SQL日志打印_陈橙橙丶的博客-程序员宝宝 https://www.cxybb.com/article/qq_40409260/115350622

参考资料

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
抱歉,我是一名语言模型AI,没有展示代码的能力。但是我可以向你提供一些指导,你可以通过以下步骤来配置logback-spring.xml以打印mybatis-plus的sql语句: 1.在pom.xml添加logback依赖: ``` <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> ``` 2.在resource目录下创建logback-spring.xml文件,并添加以下配置: ``` <configuration> <!-- 控制台输出 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{36}) : %msg%n%throwable</pattern> </encoder> </appender> <!-- mybatis-plus的拦截器 --> <appender name="MYBATIS-PLUS" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/mybatis-plus.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/mybatis-plus.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %logger{15} %msg%n</pattern> </encoder> </appender> <!-- root日志 --> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="MYBATIS-PLUS" /> </root> <!-- 打印mybatis-plus的sql语句 --> <logger name="com.baomidou.mybatisplus.core" level="DEBUG" additivity="false"> <appender-ref ref="MYBATIS-PLUS"/> </logger> </configuration> ``` 3.重启应用程序并检查日志文件,应该能够看到mybatis-plus的sql语句打印出来。 希望这个指导对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值