Mybatis Plus条件构造器LambdaQueryWrapper

news2024/11/24 11:30:15

官网地址

Mybatis Plus条件构造器LambdaQueryWrapper

目前数据库数据情况,User表

iduser_namebirthdaysexaddress
1张12023-08-10123@163.com
2李12023-08-10222@163.com
3张22023-08-10999@163.com
4张32023-08-109994@qq.com
## 简单介绍

在这里插入图片描述

如何使用各种场景

方法说明案例
eq等值操作lambdaQueryWrapper.eq(UserDomain::getUserName,"张1");
allEq全等于Map<SFunction<UserDomain,?>,Object> sFunctionObjectMap = new HashMap(16); sFunctionObjectMap.put(UserDomain::getId,1); sFunctionObjectMap.put(UserDomain::getUserName,"张1"); lambdaQueryWrapper.allEq(sFunctionObjectMap);
ne不等于lambdaQueryWrapper.ne(UserDomain::getUserName,null);
gt大于lambdaQueryWrapper.gt(UserDomain::getId,1);
ge大于等于lambdaQueryWrapper.ge(UserDomain::getId,2);
lt小于lambdaQueryWrapper.lt(UserDomain::getId,2);
le小于等于lambdaQueryWrapper.le(UserDomain::getId,2);
between在。。之间lambdaQueryWrapper.between(UserDomain::getId,1,2);
notBetween不在。。之间lambdaQueryWrapper.notBetween(UserDomain::getId,1,2);
like模糊查询lambdaQueryWrapper.like(UserDomain::getUserName,"张");
likeRight右模糊lambdaQueryWrapper.likeRight(UserDomain::getUserName,"1");
likeLeft左模糊lambdaQueryWrapper.likeLeft(UserDomain::getUserName,"张");
isNull为空判断lambdaQueryWrapper.isNull(UserDomain::getUserName);
isNotNull不为空判断lambdaQueryWrapper.isNotNull(UserDomain::getUserName);
in在。。之内lambdaQueryWrapper.in(UserDomain::getId,1,2);
notIn不在。。之内lambdaQueryWrapper.notIn(UserDomain::getId,1,2);
groupBy分组lambdaQueryWrapper.select(UserDomain::getSex).groupBy(UserDomain::getSex);
orderBy排序lambdaQueryWrapper.orderBy(true,true,UserDomain::getId,UserDomain::getBirthday);

等值操作(eq,allEq)

在这里插入图片描述
在这里插入图片描述


LambdaQueryWrapper<UserDomain> lambdaQueryWrapper = new QueryWrapper<UserDomain>().lambda();
log.info("等值【eq】《=》user_name = '张1' ");
lambdaQueryWrapper.eq(UserDomain::getUserName,"张1");
List<UserDomain> eqList = userDao.selectList(lambdaQueryWrapper);
log.info("eqList : [{}]" , eqList);

log.info("多字段等值【allEq】 (user_name = '张1' AND id = 1) ");
Map<SFunction<UserDomain,?>,Object> sFunctionObjectMap = new HashMap(16);
sFunctionObjectMap.put(UserDomain::getId,1);
sFunctionObjectMap.put(UserDomain::getUserName,"张1");
lambdaQueryWrapper.allEq(sFunctionObjectMap);
List<UserDomain> sFunctionMapList = userDao.selectList(lambdaQueryWrapper);
log.info("sFunctionMapList : [{}]" , sFunctionMapList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (user_name = ‘张1’)
SELECT id,user_name,birthday,sex,address FROM user WHERE (id = 1 AND user_name = ‘张1’)

模糊查询(like,likeLeft,likeRight)


LambdaQueryWrapper<UserDomain> lambdaQueryWrapper = new QueryWrapper<UserDomain>().lambda();
lambdaQueryWrapper.like(UserDomain::getUserName,"张");
List<UserDomain> likeList = userDao.selectList(lambdaQueryWrapper);
log.info("likeList : [{}]" , likeList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (user_name LIKE ‘%张%’)


LambdaQueryWrapper<UserDomain> lambdaQueryWrapper = new QueryWrapper<UserDomain>().lambda();
lambdaQueryWrapper.likeLeft(UserDomain::getUserName,"张");
List<UserDomain> leftLikeList = userDao.selectList(lambdaQueryWrapper);
log.info("leftLikeList : [{}]" , leftLikeList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (user_name LIKE ‘%张’)


LambdaQueryWrapper<UserDomain> lambdaQueryWrapper = new QueryWrapper<UserDomain>().lambda();
lambdaQueryWrapper.likeRight(UserDomain::getUserName,"1");
List<UserDomain> rightLikeList = userDao.selectList(lambdaQueryWrapper);
log.info("rightLikeList : [{}]" , rightLikeList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (user_name LIKE ‘1%’)

查询某几个字段(select)


log.info("查询某几个字段 《=》user_name,address");
lambdaQueryWrapper.select(UserDomain::getUserName,UserDomain::getAddress);
List<UserDomain> multipleColumnList = userDao.selectList(lambdaQueryWrapper);
log.info("multipleColumnList : [{}]" , multipleColumnList);

SELECT user_name,address FROM user

大于,大于等于,小于,小于等于


log.info("小于等于 【gt】id>2");
lambdaQueryWrapper.gt(UserDomain::getId,1);
List<UserDomain> gtList = userDao.selectList(lambdaQueryWrapper);
log.info("gtList : [{}]" , gtList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id > 1)

log.info("小于等于 【ge】id>=2");
lambdaQueryWrapper.ge(UserDomain::getId,2);
List<UserDomain> geList = userDao.selectList(lambdaQueryWrapper);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id >= 2)

log.info("小于等于 【lt】id<2");
lambdaQueryWrapper.lt(UserDomain::getId,2);
List<UserDomain> ltList = userDao.selectList(lambdaQueryWrapper);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id < 2)

log.info("小于等于 【le】《=》id <= 2");
lambdaQueryWrapper.le(UserDomain::getId,2);
List<UserDomain> leList = userDao.selectList(lambdaQueryWrapper);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id <= 2)

between,notBetween

在这里插入图片描述


log.info("在。。。之间【between】《=》(id BETWEEN 1 AND 2)");
lambdaQueryWrapper.between(UserDomain::getId,1,2);
List<UserDomain> betweenList = userDao.selectList(lambdaQueryWrapper);
log.info("betweenList : [{}]" , betweenList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id BETWEEN 1 AND 2)

log.info("在。。。之间【between】《=》(id NOT BETWEEN 1 AND 2)");
lambdaQueryWrapper.notBetween(UserDomain::getId,1,2);
List<UserDomain> notBetweenList = userDao.selectList(lambdaQueryWrapper);
log.info("notBetweenList : [{}]" , notBetweenList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id NOT BETWEEN 1 AND 2)

非空处理(isNull,isNotNull)

log.info("为空处理:【isNull】《=》user_name IS  NULL");
lambdaQueryWrapper.isNull(UserDomain::getUserName);
List<UserDomain> isNullList = userDao.selectList(lambdaQueryWrapper);
log.info("isNullList : [{}]" , isNullList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (user_name IS NULL)

log.info("不为空处理:【isNotNull】《=》user_name IS NOT  NULL");
lambdaQueryWrapper.isNotNull(UserDomain::getUserName);
List<UserDomain> isNotNullList = userDao.selectList(lambdaQueryWrapper);
log.info("isNotNullList : [{}]" , isNotNullList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (user_name IS NOT NULL)

in,notIn

log.info("在。。之内:【in】《=》id in (1,2)");
lambdaQueryWrapper.in(UserDomain::getId, 1, 2);
List<UserDomain> inList = userDao.selectList(lambdaQueryWrapper);
log.info("inList : [{}]", inList);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id IN (1,2))

log.info("不在。。之内:【in】《=》id not in (1,2)");
lambdaQueryWrapper.notIn(UserDomain::getId,1,2);
List<UserDomain> notInlist = userDao.selectList(lambdaQueryWrapper);
log.info("notInlist : [{}]" , notInlist);

SELECT id,user_name,birthday,sex,address FROM user WHERE (id NOT IN (1,2))

排序

log.info("排序:【order by 】《=》order by id desc");
lambdaQueryWrapper.orderByDesc(UserDomain::getId);
List<UserDomain> orderByDescList = userDao.selectList(lambdaQueryWrapper);
log.info("orderByDescList : [{}]" , orderByDescList);

SELECT id,user_name,birthday,sex,address FROM user order by id desc

log.info("排序:【order by 】《=》order by id desc,birthday desc");
lambdaQueryWrapper.orderBy(true,false,UserDomain::getId,UserDomain::getBirthday);
List<UserDomain> orderByDescList = userDao.selectList(lambdaQueryWrapper);
log.info("orderByDescList : [{}]" , orderByDescList);

SELECT id,user_name,birthday,sex,address FROM user ORDER BY id DESC,birthday DESC

分组

在这里插入图片描述

log.info("分组:【groupBy】《=》group by sex ");
lambdaQueryWrapper.select(UserDomain::getSex).groupBy(UserDomain::getSex);
List<UserDomain> groupByList = userDao.selectList(lambdaQueryWrapper);
log.info("groupByList : [{}]" , groupByList);

SELECT sex FROM user GROUP BY sex

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/859844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink源码之TaskManager启动流程

从启动命令flink-daemon.sh可以看出TaskManger入口类为org.apache.flink.runtime.taskexecutor.TaskManagerRunner TaskManagerRunner::main TaskManagerRunner::runTaskManagerProcessSecurely TaskManagerRunner::runTaskManager //构造TaskManagerRunner并调用start()方法 …

【设计模式——学习笔记】23种设计模式——中介者模式Mediator(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入案例一普通实现中介者模式 案例二 介绍基础介绍登场角色尚硅谷 《图解设计模式》 案例实现案例一&#xff1a;智能家庭类图实现 案例二&#xff1a;登录页面逻辑实现说明类图实现 总结文章说明 案例引入 案例一 普通实现 在租房过程中&#xff0c;客户可能…

10个创意网站,解决你没有灵感的问题

对于设计师来说&#xff0c;有源源不断的设计灵感&#xff0c;掌握最新的设计流行趋势是非常重要的。要提高设计修养&#xff0c;必须学习和理解优秀的设计作品。在这篇文章中&#xff0c;我们对灵感创意网站进行了分类整理&#xff0c;从中选取了10个素材优良、质量优良的灵感…

为什么过去十年AI创业失败了?

始于2010年前后的这次人工智能创业实际上是集体失败了。作为从业者我们固然可以讲它需要更长的启动周期&#xff0c;我们尽快的开始第二程就可以了&#xff0c;但就像抗日战争的时候如果没有论持久战的穿插到日寇力量薄弱区建立根据地等一系列基于过往教训的新战略&#xff0c;…

浅谈油烟净化技术分类及其优缺点

安科瑞 华楠 摘 要&#xff1a;随着我国经济水平的提高&#xff0c;餐饮业的快速发展&#xff0c;饮食油烟成为继工业排放和汽车尾气之后的第三大空气污染源&#xff0c;随着GB18483-2001的推出&#xff0c;各类油烟处理环保设备不断出现。文章从净化原理、净化效率、使用成本…

unity修改单个3D物体的重力的大小该怎么处理呢?

在Unity中修改单个3D物体的重力大小可以通过以下步骤实现&#xff1a; 创建一个新的C#脚本来控制重力&#xff1a; 首先&#xff0c;创建一个新的C#脚本&#xff08;例如&#xff1a;GravityModifier.cs&#xff09;并将其附加到需要修改重力的3D物体上。在脚本中&#xff0c…

第01天 什么是CSRF ?

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 每天一个知识点 ✨特色专栏&#xff1…

vcruntime140.dll如何修复?哪个修复方法更简单

修复 vcruntime140.dll 的过程确实是一次让我有些头疼的经历。起初&#xff0c;当我在使用某个程序时&#xff0c;突然出现了一个错误提示&#xff0c;指出 vcruntime140.dll 文件丢失或损坏。这让我感到困惑&#xff0c;因为我并不清楚这个文件的作用和重要性&#xff0c;以及…

Textnow注册防封,如何免费获取收发信息的美国手机号

TextNow和Google voice一样&#xff0c;是美国的一款免费的网络通信应用程序&#xff0c;可用于免费收发短信和无限制拨打电话&#xff0c;对于那些希望节省通讯费用的人&#xff0c;尤其是那些需要在跨境商务通讯频繁、跨境推广需要短信收发的用户来说&#xff0c;TextNow非常…

VsCode美化 - VsCode自定义 - VsCode自定义背景图

VsCode美化 - VsCode自定义 - VsCode自定义背景图&#xff1a;添加二次元老婆图到VsCode 前言 作为一个二刺螈&#xff0c;VsCode用久了&#xff0c;总觉得少了些什么。是啊&#xff0c;高效的代码生产工具中怎么能没有老婆呢&#xff1f; 那就安装一个VsCode插件把老婆添加…

【Spring专题】Spring之Bean的生命周期源码解析——上(扫描生成BeanDefinition)

目录 前言阅读指引阅读建议 课程内容一、生成BeanDefinition1.1 简单回顾1.2 概念回顾1.3 核心方法讲解 二、方法讲解2.1 ClassPathBeanDefinitionScanner#scan2.2 ClassPathBeanDefinitionScanner#doScan2.3 ClassPathScanningCandidateComponentProvider#findCandidateCompon…

jumpserver命令记录膨胀问题

一.背景 jumpserver堡垒机针对只是接管ssh来说&#xff0c;正常操作Linux的指令记录应该不会太多&#xff0c;每天有个几千条都已经算很多了。所以默认jumpserver采用MySQL作为存储介质本身也没啥问题。但是我们使用jumpserver对【MySQL应用】进行了托管&#xff0c;导致查询SQ…

【Linux命令详解 | find命令】 find命令用于在指定目录下搜索文件和目录,可以按照多种条件进行搜索

文章目录 简介参数列表使用介绍1. 基本搜索2. 按类型搜索3. 根据文件大小搜索4. 结合-exec执行命令5. 使用多个条件 结论 简介 find命令是一款功能强大的工具&#xff0c;用于在指定目录下搜索文件和目录。它支持多种条件&#xff0c;让你可以根据不同的需求精确地定位文件和目…

System Verilog-packed array以及unpacked array

如下声明&#xff1a; logic [7:0] data [255:0]维度在标识符前面的部分称为packed array&#xff0c;在标识符后面的部分称为unpacked array&#xff0c;一维的pakced array也称为vector。 packed array packed array只能由单bit数据类型&#xff08;bit,logic,reg&#xf…

javascript之webAPIs(1)

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 javascript 也可获取。 文章目录 介绍概念DOM 树DOM 节点Document 获取 DOM 对象 介绍 严格意义上讲&#xff0c;我们在 JavaScript 阶段学习的…

解读spring中@Value 如何将配置转自定义的bean

实现方式 着急寻求解决方式的猿友先看这块 定义配置转化类 public class UserConverter implements Converter<String, List<User>> {Overridepublic List<User> convert(String config) {if (StringUtils.isEmpty(config)) {return Collections.emptyLis…

C++将函数声明放在头文件中的示例

C将函数声明放在头文件中的示例 C函数原型声明&#xff08;函数声明&#xff09;的位置可以有以下几种选择&#xff1a; 1.函数声明放在同一源文件中&#xff1a;这种情况通常适用较小的项目中&#xff0c;通常可以将函数的声明和定义放在同一个源文件中。先声明函数原型&…

教你如何将3D模型导入到可视化大屏系统中,并实现可交互效果

首先我们需要准备一款数字孪生软件&#xff0c;本文中使用的是山海鲸可视化&#xff0c;这是一款免费的零代码数字孪生大屏开发平台软件。 下载完成后打开山海鲸可视化&#xff0c;点击新建来创建一个大屏项目。 我们可以根据自己的需要来创建各种场景的项目或是套用模板项目&a…

React源码解析18(4)------ completeWork的工作流程【mount】

摘要 经过上一章&#xff0c;我们得到的FilberNode已经具有了child和return属性。一颗Filber树的结构已经展现出来了。 那我们最终是想在页面渲染真实的DOM。所以我们现在要在completeWork里&#xff0c;构建出一颗离屏的DOM树。 之前在说FilberNode的属性时&#xff0c;我们…

CAD文件打开错误中断怎么办?CAD文件打开错误中断的解决方法

CAD是一款计算机辅助设计软件&#xff0c;主要用于二维绘图、详细绘制、设计文档和基本三维设计&#xff0c;CAD已经是一款国内国外广为流行的绘图工具了&#xff0c;在土木建筑、装饰装潢、城市规划、园林设计、电子电路、机械设计、服装鞋帽、航空航天、轻工化工等行业应用非…