欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis-plus QueryWrapper中or,and的使用及說明

 更新時(shí)間:2025年07月21日 15:50:09   作者:老葉童鞋  
使用MyBatis Plus QueryWrapper時(shí),因同時(shí)添加角色權(quán)限固定條件和多字段模糊查詢導(dǎo)致數(shù)據(jù)異常展示,排查發(fā)現(xiàn)OR邏輯覆蓋了權(quán)限條件,通過正確使用and()方法,將條件組合為AND邏輯,解決了權(quán)限過濾失效的問題

QueryWrapper中or,and使用

這兩天開發(fā)使用mybatisPlus的QueryWrapper組件時(shí)遇到一個(gè)問題,功能是開發(fā)一個(gè)列表,因?yàn)樯婕暗接脩艚巧珯?quán)限所以有個(gè)固定的查詢條件        

queryWrapper.eq("user_id", userInfo.getUserId);

列表中還要同時(shí)模糊查詢多個(gè)字段

所以我又增加了下面的語句

 if(StringUtils.isNotBlank(name)) {
        	queryWrapper.like("user_name", name)
                        .or()
                        .like("user_admin_name",name );;
        }

當(dāng)這兩個(gè)條件單獨(dú)出現(xiàn)的時(shí)候查詢都是沒有問題,但是當(dāng)兩個(gè)條件同時(shí)出現(xiàn),就會(huì)發(fā)現(xiàn)查詢不是當(dāng)前角色的數(shù)據(jù)也會(huì)展示出來。

經(jīng)過排查

發(fā)現(xiàn)queryWrapper 的where執(zhí)行語句是這樣的

where (user_id='1' and user_name like '%葉%' or user_admin_name like '%葉%')

這就導(dǎo)致只要where后面的條件存在or的話

只要滿足條件了,都會(huì)查詢出結(jié)果集,后來經(jīng)過查詢文檔,在QueryWrapper組件中找到了and()方法的使用,即可達(dá)到我們的期望值

queryWrapper.and(wq -> {
                // 拼接sql
                wq.like("user_name", name)
                   .or()
                   .like("user_admin_name",name);
                });
where (user_id='1' and (user_name like '%葉%' or user_admin_name like '%葉%'))

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Redis+Caffeine實(shí)現(xiàn)兩級(jí)緩存的教程

    Redis+Caffeine實(shí)現(xiàn)兩級(jí)緩存的教程

    這篇文章主要介紹了Redis+Caffeine實(shí)現(xiàn)兩級(jí)緩存的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • java在運(yùn)行時(shí)能修改工作目錄嗎

    java在運(yùn)行時(shí)能修改工作目錄嗎

    這篇文章主要給大家介紹了關(guān)于java在運(yùn)行時(shí)能修改工作目錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • java中類和對(duì)象的詳細(xì)介紹

    java中類和對(duì)象的詳細(xì)介紹

    這篇文章主要給大家介紹了關(guān)于java中類和對(duì)象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • java從list中取出對(duì)象并獲得其屬性值的方法

    java從list中取出對(duì)象并獲得其屬性值的方法

    這篇文章主要介紹了java從list中取出對(duì)象并獲得其屬性值的方法,大家參考使用
    2013-12-12
  • IntelliJ IDEA 最常用的配置圖文詳解

    IntelliJ IDEA 最常用的配置圖文詳解

    這篇文章給大家分享了IntelliJ IDEA 詳細(xì)圖解最常用的配置的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2018-07-07
  • 深入理解Java設(shè)計(jì)模式之組合模式

    深入理解Java設(shè)計(jì)模式之組合模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之組合模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • JSON 格式的弊端與解決方法(真實(shí)示例)

    JSON 格式的弊端與解決方法(真實(shí)示例)

    JSON 格式是目前最流行的數(shù)據(jù)交互格式,廣泛應(yīng)用于前后端分離的系統(tǒng)。但也有一些場合不適合使用 JSON 格式,這篇文章主要介紹了JSON 格式的弊端與解決方法,需要的朋友可以參考下
    2022-09-09
  • Java?Bean?作用域及它的幾種類型介紹

    Java?Bean?作用域及它的幾種類型介紹

    這篇文章主要介紹了Java?Bean作用域及它的幾種類型介紹,Spring框架作為一個(gè)管理Bean的IoC容器,那么Bean自然是Spring中的重要資源了,那Bean的作用域又是什么,接下來我們一起進(jìn)入文章詳細(xì)學(xué)習(xí)吧
    2022-09-09
  • Mybatis?plus邏輯刪除注解@TableLogic的使用

    Mybatis?plus邏輯刪除注解@TableLogic的使用

    本文主要介紹了Mybatis?plus邏輯刪除注解@TableLogic,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Javacsv實(shí)現(xiàn)Java讀寫csv文件

    Javacsv實(shí)現(xiàn)Java讀寫csv文件

    這篇文章主要為大家詳細(xì)介紹了Javacsv實(shí)現(xiàn)Java讀寫csv文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評(píng)論