Mybatis-plus查詢語(yǔ)句加括號(hào)(.or(),.and())問(wèn)題
Mybatis-plus查詢語(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)分端查詢
LambdaQueryWrapper<實(shí)體類> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(實(shí)體類::字段名,參數(shù))
- .and(條件,pr -> pr.like(實(shí)體類::字段名,參數(shù))
- .or(條件).like(實(shí)體類::字段名,參數(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ū)別查詢來(lái)自PC還是APP端,APP端實(shí)現(xiàn)單一參數(shù)多對(duì)應(yīng)查詢
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot中Get請(qǐng)求和POST請(qǐng)求接收參數(shù)示例詳解
文章詳細(xì)介紹了SpringBoot中Get請(qǐng)求和POST請(qǐng)求的參數(shù)接收方式,包括方法形參接收參數(shù)、實(shí)體類接收參數(shù)、HttpServletRequest接收參數(shù)、@PathVariable接收參數(shù)、數(shù)組參數(shù)接收、集合參數(shù)接收、Map接收參數(shù)以及通過(guò)@RequestBody接收J(rèn)SON格式的參數(shù),感興趣的朋友一起看看吧2024-12-12SpringBoot?中使用?Validation?校驗(yàn)參數(shù)的方法詳解
Validation?是用于檢查程序代碼中參數(shù)的有效性的框架,作為?Spring?框架中的一個(gè)參數(shù)校驗(yàn)工具,集成在?spring-context?包中,這篇文章主要介紹了SpringBoot?中使用?Validation?校驗(yàn)參數(shù),需要的朋友可以參考下2022-05-05HTTP 415錯(cuò)誤-Unsupported media type詳解
這篇文章主要介紹了HTTP 415錯(cuò)誤-Unsupported media type詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08SpringBoot整合Redis之編寫(xiě)RedisConfig
RedisConfig需要對(duì)redis提供的兩個(gè)Template的序列化配置,所以本文為大家詳細(xì)介紹了SpringBoot整合Redis如何編寫(xiě)RedisConfig,需要的可以參考下2022-06-06SpringBoot Nacos實(shí)現(xiàn)自動(dòng)刷新
這篇文章主要介紹了SpringBoot Nacos實(shí)現(xiàn)自動(dòng)刷新,Nacos(Dynamic Naming and Configuration Service)是阿里巴巴開(kāi)源的一個(gè)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)2023-01-01maven打包成第三方j(luò)ar包且把pom依賴包打入進(jìn)來(lái)的方法
這篇文章主要介紹了maven打包成第三方j(luò)ar包且把pom依賴包打入進(jìn)來(lái)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11SpringBoot整合任務(wù)系統(tǒng)quartz和SpringTask的方法
這篇文章主要介紹了SpringBoot整合任務(wù)系統(tǒng)(quartz和SpringTask),Quartz是一個(gè)比較成熟了的定時(shí)任務(wù)框架,但是捏,它稍微的有些許繁瑣,本文先給大家講解下Quartz的一些基本概念結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10