最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

QueryWrapper中or,and使用

這兩天開發(fā)使用mybatisPlus的QueryWrapper組件時遇到一個問題,功能是開發(fā)一個列表,因為涉及到用戶角色權(quán)限所以有個固定的查詢條件        

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

列表中還要同時模糊查詢多個字段

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

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

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

經(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的話

只要滿足條件了,都會查詢出結(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é)

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

相關(guān)文章

  • Java并發(fā)之Semaphore工具類r的全面解析

    Java并發(fā)之Semaphore工具類r的全面解析

    Semaphore 是 java.util.concurrent中非常有用的并發(fā)編程工具類,它通常被用于限制對某個資源或資源池的并發(fā)訪問數(shù)量,下面我們就來深入了解一下Semaphore的具體使用吧
    2024-02-02
  • mybatis查詢語句的背后揭秘

    mybatis查詢語句的背后揭秘

    這篇文章主要給大家介紹了關(guān)于mybatis查詢語句的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java清除u盤內(nèi)存卡里的垃圾文件示例

    java清除u盤內(nèi)存卡里的垃圾文件示例

    手機內(nèi)存卡空間被用光了,但又不知道哪個文件占用了太大,一個個文件夾去找又太麻煩,開發(fā)了個小程序把手機所有文件(包括路徑下所有層次子文件夾下的文件)進(jìn)行一個排序,這樣你就可以找出哪個文件占用了內(nèi)存太大了
    2014-02-02
  • 基于Spring框架由ConditionalOnMissingBean注解引發(fā)的問題

    基于Spring框架由ConditionalOnMissingBean注解引發(fā)的問題

    這篇文章主要介紹了基于Spring框架由ConditionalOnMissingBean注解引發(fā)的問題,具有很好
    2023-11-11
  • Spring Boot中實現(xiàn)定時任務(wù)應(yīng)用實踐

    Spring Boot中實現(xiàn)定時任務(wù)應(yīng)用實踐

    定時任務(wù)一般是項目中都需要用到的,可以用于定時處理一些特殊的任務(wù)。下面這篇文章主要給大家介紹了關(guān)于Spring Boot中實現(xiàn)定時任務(wù)應(yīng)用實踐的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-05-05
  • JDBC建立數(shù)據(jù)庫連接的代碼

    JDBC建立數(shù)據(jù)庫連接的代碼

    這篇文章主要為大家詳細(xì)介紹了JDBC建立數(shù)據(jù)庫連接的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • springboot升級Tomcat版本的方法示例

    springboot升級Tomcat版本的方法示例

    本文主要介紹了springboot升級Tomcat版本的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • java中dart類詳細(xì)講解

    java中dart類詳細(xì)講解

    這篇文章主要介紹了dart類詳細(xì)講解,實例講解的很清晰,有對于這方面不太清楚的同學(xué)可以跟著學(xué)習(xí)下
    2021-02-02
  • Spring中@Autowired注解的原理詳解

    Spring中@Autowired注解的原理詳解

    這篇文章主要介紹了Spring中@Autowired注解的原理詳解,對于spring配置一個bean時,如果需要給該bean提供一些初始化參數(shù),則需要通過依賴注入方式,所謂的依賴注入就是通過spring將bean所需要的一些參數(shù)傳遞到bean實例對象的過程,需要的朋友可以參考下
    2023-11-11
  • Java的常見批量操作方法及注意事項

    Java的常見批量操作方法及注意事項

    Java作為一種強大的編程語言,提供了多種方法來有效地進(jìn)行批量數(shù)據(jù)處理,這篇文章主要介紹了Java的常見批量操作方法及注意事項的相關(guān)資料,需要的朋友可以參考下
    2025-06-06

最新評論

无极县| 怀仁县| 万山特区| 汕头市| 渭源县| 车险| 台南市| 金秀| 花莲市| 千阳县| 常宁市| 罗田县| 汪清县| 元朗区| 贵南县| 安乡县| 肇东市| 玉树县| 安福县| 凌源市| 隆子县| 蓬莱市| 定州市| 汉川市| 赤城县| 化州市| 宽城| 商河县| 华亭县| 宁德市| 乌拉特后旗| 临洮县| 朝阳县| 太白县| 铜陵市| 康定县| 澎湖县| 河北省| 磐安县| 临澧县| 蒙自县|