您好,登錄后才能下訂單哦!
這篇“Mybatisplus中的like查詢問題怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Mybatisplus中的like查詢問題怎么解決”文章吧。
又談到了Mybatis plus了,真的很是痛心疾首,在做模糊查詢的時候出現了一個問題,版本還是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%')
應該一下就可以看的出來 這樣的查詢語法怎么可能查詢的出來數據呢?我覺得這算是一個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%')
這樣是一點問題也沒有的哦,應該能看出問題在那里吧?哈哈哈,不說了。
感覺還有好多地方會有坑等著我,踩一個坑記錄一下吧!!!
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
是一些條件,符合才可加上你的sql
column
為 數據庫屬性
value
為 你傳入的值
type
為 % 拼在那邊:
SqlLike
為枚舉類
LEFT("left", "左邊%"), RIGHT("right", "右邊%"), CUSTOM("custom", "定制"), DEFAULT("default", "兩邊%");
以上就是關于“Mybatisplus中的like查詢問題怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。