Mybatis plus中的like查詢問題
Mybatis plus中l(wèi)ike查詢問題
又談到了Mybatis plus了,真的很是痛心疾首,在做模糊查詢的時(shí)候出現(xiàn)了一個(gè)問題,版本還是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,講道理來說是沒有問題的,下面我們查一下這個(gè)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ù)呢?我覺得這算是一個(gè)Mybatis plus的Bug的吧!
解決方法也很簡(jiǎn)單,換個(gè)寫法
? ? ? ? ?@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)該能看出問題在那里吧?哈哈哈,不說了。
感覺還有好多地方會(huì)有坑等著我,踩一個(gè)坑記錄一下吧?。?!
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", "兩邊%");以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(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ì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
Java8時(shí)間轉(zhuǎn)換(LocalDateTime)代碼實(shí)例
這篇文章主要介紹了java8時(shí)間轉(zhuǎn)換(LocalDateTime)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
java接收文件流+response.body()調(diào)用兩次問題(分別接收文件和對(duì)象)
這篇文章主要介紹了java接收文件流+response.body()調(diào)用兩次問題(分別接收文件和對(duì)象),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
SpringSecurity頁面授權(quán)與登錄驗(yàn)證實(shí)現(xiàn)(內(nèi)存取值與數(shù)據(jù)庫取值)
Spring Security是一個(gè)能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架,本文主要介紹了SpringSecurity頁面授權(quán)與登錄驗(yàn)證實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Mybatis-Plus saveBatch()批量保存失效的解決
本文主要介紹了Mybatis-Plus saveBatch()批量保存失效的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心的方法
本文主要介紹了SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04

