星巴克網(wǎng)站建設seo推廣優(yōu)化官網(wǎng)
問題描述
在日常開發(fā)中,經(jīng)常會遇到Mybatis sql語句的操作問題,由于Mybatis實現(xiàn)sql的動態(tài)拼接,開發(fā)過程中,為了驗證sql是否書寫正確,通常需要獲取的控制臺打印的sql語句來檢查是否拼接正確。如下圖所示:
那么為了驗證sql的正確性,需要復制控制臺sql以及sql參數(shù),手工進行拼接后在數(shù)據(jù)庫連接工具(比如 navicat)里面執(zhí)行查看執(zhí)行結果,如下圖:
那么問題來了,當遇到sql很長,參數(shù)很多時,手工的填充sql參數(shù)就會顯得很費力且耽誤時間。下面介紹一個簡單的辦法來幫助我們實現(xiàn)參數(shù)快速填充。
問題處理
當遇到一個很復雜的sql需要拼接參數(shù)時,如果還是單出的通過手工填充sql參數(shù)的方式就會很耽誤時間,且手工補充參數(shù)容易出錯,如下圖中的sql:
整個sql美化后的sql有840行,中間涉及到的sql的參數(shù)也有很多。
這種情況下如果還采用手工補充sql參數(shù)的方式就會得不償失,即耽誤時間,且補充過程容易出錯,那么是否有一款好的工具可以解決呢?答案是有的,idea有一款插件叫做Mybatis Log Convert,查看插件的解釋說明 。
可以看到這款插件正好可以解決我們遇到的問題,安裝插件之后再來查看剛才的sql,選中需要自動填充參數(shù)的sql以及參數(shù)信息。
點擊如圖mybatis日志解析后可以看到如下圖所示:
待看到右下角的提示信息之后,去sql查詢工具Ctrl+V粘貼。
可以看到參數(shù)已經(jīng)正確填充到sql位置了,直接執(zhí)行查詢即可,這樣是不是很方便很快捷呢?
在使用中需要注意,選中日志中sql語句時需要同時選中Preparing和Parameters,如果沒有同時選中以上兩個關鍵詞的話會進行錯誤提示。
但其參數(shù)和sql語句是分開的,因此同時選中Preparing和Parameters又是一個煩心事。所以我們推薦使用Mybatis Log Free,可以在控制臺直接輸出完整的Sql語句。
?
?如若轉載,請注明出處:開源字節(jié) ? https://sourcebyte.vip/article/339.html??