用 mybatis-log-plugin 插件解決你的痛點

痛點概述

當咱們在排查bug ,須要看執行的完整sql 時,在 console能夠拿到如圖的sql git

而後手工一個一個的替換問號佔位符後,去MySQL 執行,看sql有木有什麼問題。若是sql簡單,那比較好說, 若是是個複雜sql,手動替換N個問號佔位符,這種痛相信你們都經歷過。 今天介紹的 mybatis-log-plugin 插件正是解決了這樣的痛點。github

環境

  • intellij 2018.2
  • mybatis-log-plugin 2.0.7
  • windows 7

mybatis-log-plugin 安裝

intellij 常見的安裝插件步奏安裝便可,省略,詳情自行搜索。sql

mybatis-log-plugin 配置

  1. 配置 intellij console 日誌格式爲 mybatis-log-plugin 插件要求的。見官方github 主頁 (連接:https://github.com/kookob/mybatis-log-plugin ) 「Support Format」 章節 , 好比logback配置以下:
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.out</target>
        <encoder>
            <pattern>%d %p  %C:%L - %m%n</pattern>
            <charset>utf-8</charset>
        </encoder>
        <!-- 此日誌appender是爲開發使用,只配置最底級別,控制檯輸出的日誌級別是大於或等於此級別的日誌信息-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
    </appender>

   
    <root level="debug">
        <appender-ref ref="stdout" />
       
    </root>

其中下面 pattern 定義了符合 mybatis-log-plugin 要求的輸出格式windows

<pattern>%d %p  %C:%L - %m%n</pattern>
  1. logback root 節點 設置爲 debug level,由於 mybatis 的sql 日誌在 debug level纔會輸出mybatis

  2. 在intellij console 選中要恢復的sql 如圖: 而後選擇 app

  3. 最後在 MyBatis Sql Log console 看到最終已替換參數的sql(以下圖),直接拿去排查問題,告別手動替換的痛(巴適鼓掌,很是方便)插件

並且你每執行一次 sql調用, MyBatis Sql Log console 都會輸出替換後的sql,今後排查問題的效率 飛了起來。debug

  1. 最後

感謝 mybatis-log-plugin 做者, github 連接:https://github.com/kookob/mybatis-log-plugin3d

相關文章
相關標籤/搜索