Mybatis-plus查詢(xún)語(yǔ)句加括號(hào)(.or(),.and())問(wèn)題
Mybatis-plus查詢(xún)語(yǔ)句加括號(hào)(.or(),.and())
java代碼
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.ne("id", param.getId())
wrapper.and(QueryWrapper -> QueryWrapper.eq("name", name).or().eq("mark", mark));
entityMapper.selectList(wrapper);等價(jià)sql
SELECT id FROM t_entity WHERE (id <> ? AND (name = ? OR mark = ?))
每個(gè)and相當(dāng)于一個(gè)括號(hào)
mybatis plus加括號(hào)實(shí)現(xiàn)分端查詢(xún)
LambdaQueryWrapper<實(shí)體類(lèi)> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(實(shí)體類(lèi)::字段名,參數(shù))
- .and(條件,pr -> pr.like(實(shí)體類(lèi)::字段名,參數(shù))
- .or(條件).like(實(shí)體類(lèi)::字段名,參數(shù)));
舉例
LambdaQueryWrapper<Entity> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(Entity::getStatus, BaseServiceConstants.STATUS_0)
.like(StringUtils.isNotEmpty(busiInfo.getName()) && !appFlag, Entity::getName, busiInfo.getName())
.like(StringUtils.isNotEmpty(busiInfo.getSupervisor()) && !appFlag, Entity::getSupervisor, busiInfo.getSupervisor())
.eq(StringUtils.isNotEmpty(busiInfo.getCode()), Entity::getCode, busiInfo.getCode())
.and(StringUtils.isNotEmpty(busiInfo.getName()) && appFlag, pr -> pr .like( Entity::getName, busiInfo.getName())
.or().like(Entity::getSupervisor, busiInfo.getName()));通過(guò)定義boolean變量 appFlag 來(lái)區(qū)別查詢(xún)來(lái)自PC還是APP端,APP端實(shí)現(xiàn)單一參數(shù)多對(duì)應(yīng)查詢(xún)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot 整合 Java DL4J 實(shí)現(xiàn)時(shí)尚穿搭推薦系統(tǒng)(實(shí)例代碼)
本文介紹了如何使用SpringBoot和JavaDeeplearning4j框架搭建一個(gè)時(shí)尚穿搭推薦系統(tǒng),文章詳細(xì)闡述了系統(tǒng)的技術(shù)架構(gòu)、數(shù)據(jù)集格式、Maven依賴(lài)配置、模型訓(xùn)練和預(yù)測(cè)代碼實(shí)現(xiàn),以及單元測(cè)試和預(yù)期輸出結(jié)果2024-10-10
java語(yǔ)言基礎(chǔ)之標(biāo)識(shí)符和命名規(guī)則詳解
這篇文章主要給大家介紹了關(guān)于java語(yǔ)言基礎(chǔ)之標(biāo)識(shí)符和命名規(guī)則的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
解決HashMap多線程操作導(dǎo)致死循環(huán)問(wèn)題
文章主要講述了在多線程環(huán)境下,HashMap的并發(fā)操作可能導(dǎo)致的死循環(huán)問(wèn)題,包括鏈表/紅黑樹(shù)結(jié)構(gòu)破壞、擴(kuò)容過(guò)程中的混亂以及讀寫(xiě)不一致等,為了解決這些問(wèn)題,文章建議使用線程安全的ConcurrentHashMap替代HashMap,并介紹了其分段鎖機(jī)制和優(yōu)化方案2025-01-01
在SpringBoot項(xiàng)目中利用maven的generate插件
今天小編就為大家分享一篇關(guān)于在SpringBoot項(xiàng)目中利用maven的generate插件,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01
解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法
下面小編就為大家?guī)?lái)一篇解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
MyBatis-Plus 中 的動(dòng)態(tài)SQL 片段(sqlSegment)詳解
MyBatis-Plus的sqlSegment通過(guò)Wrapper動(dòng)態(tài)生成SQL片段,支持XML中${ew.customSqlSegment}引用,結(jié)合Lambda表達(dá)式避免硬編碼,適用于動(dòng)態(tài)查詢(xún)、邏輯刪除等場(chǎng)景,提升代碼可維護(hù)性與靈活性,本文給大家介紹MyBatis-Plus中的動(dòng)態(tài)SQL片段(sqlSegment)講解,感興趣的朋友一起看看吧2025-06-06
Spring?Security自定義認(rèn)證邏輯實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Spring?Security自定義認(rèn)證邏輯的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
idea復(fù)制module(項(xiàng)目)并在一個(gè)窗口展示的教程詳解
這篇文章主要介紹了idea復(fù)制module(項(xiàng)目)并在一個(gè)窗口展示的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06

