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%')
這樣是一點問題也沒有的哦,應(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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
EventBus與Spring Event區(qū)別詳解(EventBus 事件機制,Spring Event事件機制)
這篇文章主要介紹了EventBus與Spring Event區(qū)別,需要的朋友可以參考下2020-02-02
org.apache.zookeeper.KeeperException.BadVersionException異常的解
在使用Apache ZooKeeper進行分布式協(xié)調(diào)時,你可能會遇到org.apache.zookeeper.KeeperException.BadVersionException異常,本文就來介紹一下解決方法,感興趣的可以了解一下2024-03-03
Java 中的 DataInputStream 介紹_動力節(jié)點Java學(xué)院整理
DataInputStream 是數(shù)據(jù)輸入流。它繼承于FilterInputStream。接下來通過本文給大家介紹Java 中的 DataInputStream的相關(guān)知識,需要的朋友參考下吧2017-05-05
Java 在Excel單元格中應(yīng)用一種/多種字體樣式(實例代碼)
這篇文章主要介紹了Java 在Excel單元格中應(yīng)用一種/多種字體樣式,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12

