mybatis日志打印的兩款I(lǐng)DEA插件推薦
前言
各位精通CRUD的老司機(jī),相信大家在工作中mybatis或者mybatisplus使用的肯定是比較多的,那么大家或多或少都應(yīng)該對(duì)下面的行為感到熟悉。我們排查問題的時(shí)候,從日志中復(fù)制出來的SQL參數(shù)位置都是使用?占位的,我們需要將一個(gè)一個(gè)的參數(shù)手動(dòng)賦值到?的位置,隨后該SQL才能放到數(shù)據(jù)庫(kù)中正確執(zhí)行。對(duì)于這樣的操作,一次兩次尚可接受,多了就會(huì)讓人對(duì)于這種機(jī)械性的操作很是反感。那么,對(duì)于這個(gè)問題有沒有比較好的解決方案呢?答案還真有,今天就給大家推薦兩款不錯(cuò)的IDEA插件,這兩款插件筆者也都使用過。
注:通常mybaits日志打印大概如下圖示,一行是?占位的SQL,一行是各個(gè)參數(shù)值
MybatisLogFormat
這款插件可在IDEA的插件市場(chǎng)中搜索到并直接安裝。使用的時(shí)候直接選中SQL行以及參數(shù)行,就是上面圖示中紅框圈出來的兩行,鼠標(biāo)點(diǎn)擊右鍵,此時(shí)會(huì)彈出來一個(gè)對(duì)話框。
選項(xiàng)一
點(diǎn)擊這個(gè)選項(xiàng),會(huì)在右下角彈出一個(gè)小框,同時(shí)有個(gè)copy的按鈕供你點(diǎn)擊,一點(diǎn)擊參數(shù)化的SQL就被復(fù)制到了你的剪切板,不過不是美化之后的格式。
update `t_student` set `name` = case when `id` = 1 then 張三 when `id` = 2 then 李四 when `id` = 3 then 王五 when `id` = 4 then 趙六 end, `age` = case when `id` = 1 then 40 when `id` = 2 then 34 when `id` = 3 then 55 when `id` = 4 then 76 end where `id` in ( 1 , 2 , 3 , 4 )
選項(xiàng)二
點(diǎn)擊這個(gè)選項(xiàng),參數(shù)化后的SQL直接被復(fù)制到你的剪切板,而且是美化之后的格式。
UPDATE `t_student` SET `name` = CASE WHEN `id` = 1 THEN 張三 WHEN `id` = 2 THEN 李四 WHEN `id` = 3 THEN 王五 WHEN `id` = 4 THEN 趙六 END, `age` = CASE WHEN `id` = 1 THEN 40 WHEN `id` = 2 THEN 34 WHEN `id` = 3 THEN 55 WHEN `id` = 4 THEN 76 END WHERE `id` IN (1, 2, 3, 4)
缺點(diǎn)
好像對(duì)字符串的支持不太完美,沒有給字符串值加上 ’ 號(hào),需要我們自己補(bǔ)全否則會(huì)報(bào)錯(cuò)。
Mybatis Log Free
這款插件可在IDEA的插件市場(chǎng)中搜索到并直接安裝。使用的時(shí)候先在console控制臺(tái)鼠標(biāo)點(diǎn)擊右鍵,在彈出的對(duì)話框中選擇Mybatis Log Plugin選項(xiàng),此時(shí)會(huì)出現(xiàn)Mybatis Log的專屬控制臺(tái),之后程序運(yùn)行中的參數(shù)化SQL就會(huì)直接打印在專屬控制臺(tái)中。
我們運(yùn)行測(cè)試程序,觀察出現(xiàn)在控制臺(tái)中的SQL。
由此可見,參數(shù)化SQL被正確打印,而且對(duì)于不同字段類型處理正確,比如字符串值自動(dòng)用 ’ 進(jìn)行包裹,SQL可直接放到數(shù)據(jù)庫(kù)中執(zhí)行,非常完美。
總結(jié)
- Mybatis Log Free插件和MybatisLogFormat插件都能起到類似的作用,簡(jiǎn)化我們的工作。
- Mybatis Log Free插件似乎對(duì)于參數(shù)的處理更準(zhǔn)確一點(diǎn),當(dāng)然也可能是我不太會(huì)用MybatisLogFormat插件,所以我現(xiàn)在就是使用Mybatis Log Free插件多一些。
- 自測(cè)Mybatis Log Free插件對(duì)于mybatisplus同樣適用。
到此這篇關(guān)于mybatis日志打印的兩款I(lǐng)DEA插件推薦的文章就介紹到這了,更多相關(guān)mybatis日志打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中的static和final關(guān)鍵字的使用詳解
這篇文章主要介紹了Java中的static和final關(guān)鍵字的使用詳解, 當(dāng)方法名前有static,即為static方法,可以方便我們無需創(chuàng)建對(duì)象也可以調(diào)用此方法,靜態(tài)方法比較拉,只可以訪問 靜態(tài)的 屬性/變量/方法,無法訪問非靜態(tài)的這些屬性/變量/方法,需要的朋友可以參考下2024-01-01spring @Scheduled注解的使用誤區(qū)及解決
這篇文章主要介紹了spring @Scheduled注解的使用誤區(qū)及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11java webApp異步上傳圖片實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了java webApp異步上傳圖片實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11java實(shí)現(xiàn)簡(jiǎn)易的五子棋游戲
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)易的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06詳解自定義SpringMVC的Http信息轉(zhuǎn)換器的使用
這篇文章主要介紹了詳解自定義SpringMVC的Http信息轉(zhuǎn)換器的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11