Mybatis plus中的like查詢問題
Mybatis plus中l(wèi)ike查詢問題
又談到了Mybatis plus了,真的很是痛心疾首,在做模糊查詢的時候出現(xiàn)了一個問題,版本還是2.0.8,我覺得大問題沒有小問題不斷吧!
上代碼
? ? ? ? @MethodAnnot() ? ? ? ? public static List<VwUserRole> getVwUserRoleByList(VwUserRole ? ? ?vwUserRole){ ? ? ? ? ? ? ? ? return vwUserRoleService.selectList( ? ? ? ? ? ? ? ? ? ? ? ? new EntityWrapper<VwUserRole>(vwUserRole).like("username",vwUserRole.getUsername(), SqlLike.DEFAULT)); ? ? ? ? }
模糊查詢USER,講道理來說是沒有問題的,下面我們查一下這個SQL是什么
SELECT id,username,del_flag AS delFlag FROM vw_user_role WHERE username='a' AND del_flag='0' AND (username LIKE '%a%')
應(yīng)該一下就可以看的出來 這樣的查詢語法怎么可能查詢的出來數(shù)據(jù)呢?我覺得這算是一個Mybatis plus的Bug的吧!
解決方法也很簡單,換個寫法
? ? ? ? ?@MethodAnnot() ? ? ? ? public static List<VwUserRole> getVwUserRoleByList(VwUserRole vwUserRole){ ? ? ? ? ? ? ? ? EntityWrapper ew=new EntityWrapper(); ? ? ? ? ? ? ? ? ew.setEntity(new VwUserRole()); ? ? ? ? ? ? ? ? ew.eq("del_flag",'0'); ? ? ? ? ? ? ? ? ew.like("username",vwUserRole.getUsername(), SqlLike.DEFAULT); ? ? ? ? ? ? ? ? return vwUserRoleService.selectList(ew); ? ? ? ? }
我們看一下這樣查詢的SQL是什么
SELECT id,username,del_flag AS delFlag FROM vw_user_role WHERE (del_flag = 0 AND username LIKE '%a%')
這樣是一點(diǎn)問題也沒有的哦,應(yīng)該能看出問題在那里吧?哈哈哈,不說了。
感覺還有好多地方會有坑等著我,踩一個坑記錄一下吧?。?!
Mybatis plus中l(wèi)ike使用說明
like的四種用法
like(boolean condition, String column, String value) like(String column, String value) like(boolean condition, String column, String value, SqlLike type) like(String column, String value, SqlLike type)
condition
是一些條件,符合才可加上你的sqlcolumn
為 數(shù)據(jù)庫屬性value
為 你傳入的值type
為 % 拼在那邊:SqlLike
為枚舉類
? ? LEFT("left", "左邊%"), ? ? RIGHT("right", "右邊%"), ? ? CUSTOM("custom", "定制"), ? ? DEFAULT("default", "兩邊%");
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 自定義Spring框架與Spring IoC相關(guān)接口分析
Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)2021-10-10解決Java的InputMismatchException異常
這篇文章介紹了解決Java的InputMismatchException異常的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12Java8時間轉(zhuǎn)換(LocalDateTime)代碼實(shí)例
這篇文章主要介紹了java8時間轉(zhuǎn)換(LocalDateTime)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11java接收文件流+response.body()調(diào)用兩次問題(分別接收文件和對象)
這篇文章主要介紹了java接收文件流+response.body()調(diào)用兩次問題(分別接收文件和對象),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06SpringSecurity頁面授權(quán)與登錄驗(yàn)證實(shí)現(xiàn)(內(nèi)存取值與數(shù)據(jù)庫取值)
Spring Security是一個能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架,本文主要介紹了SpringSecurity頁面授權(quán)與登錄驗(yàn)證實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06Mybatis-Plus saveBatch()批量保存失效的解決
本文主要介紹了Mybatis-Plus saveBatch()批量保存失效的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊中心的方法
本文主要介紹了SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊中心,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04