Mybatis Plus条件构造器LambdaQueryWrapper

官网地址

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.mzph.cn/news/30832.shtml

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

相关文章

论文笔记:SUPERVISED CONTRASTIVE REGRESSION

2022arxiv的论文&#xff0c;没有中&#xff0c;但一作是P大图班本MIT博&#xff0c;可信度应该还是可以的 0 摘要 深度回归模型通常以端到端的方式进行学习&#xff0c;不明确尝试学习具有回归意识的表示。 它们的表示往往是分散的&#xff0c;未能捕捉回归任务的连续性质。…

gateway做token校验

本文使用springcloud的gateway做token校验 登录的本质&#xff1a;拿用户名和密码 换 token。 token会返回给浏览器&#xff08;存储&#xff09;&#xff0c;当访问的时候&#xff0c;携带token 发起请求。 token校验图 引入redis依赖 <dependency><groupId>or…

2000-2022年全国地级市乡村振兴测算数据(30个指标)

1、时间&#xff1a;2000-2022年 2、来源&#xff1a;城市统计NJ、各地区统计NJ 3、范围&#xff1a;地级市 4、指标&#xff1a;乡村振兴指数、人均农业机械总动力&#xff08;千瓦&#xff09;、粮食综合生产能力&#xff08;万吨&#xff09;、农业劳动生产率&#xff08…

Vue2:路由

Vue2&#xff1a;路由 Date: May 28, 2023 Sum: vue-router基本使用、高级用法 单页面应用程序 概念&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 案例&#xff1a; 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页…

Idea使用Docker插件实现maven打包自动构建镜像

Docker 开启TCP 服务 vi /lib/systemd/system/docker.service改写以下内容 ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock重启服务 #重新加载配置文件 systemctl daemon-reload #重启服务 systemctl restart docker.service此时docker已…

大数据课程I1——Kafka的概述

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解Kafka的概念&#xff1b; ⚪ 掌握Kafka的配置与启动&#xff1b; 一、简介 1. 基本概念 Apache kafka 是一个分布式数据流平台。可以从如下几个层面来理解&#x…

elasticsearch-head可视化安装

一、前言 elasticsearch-head 是用于监控 Elasticsearch 状态的客户端插件&#xff0c;包括数据可视化、执行增删改查操作等。 elasticsearch是通过API方式进行管理的&#xff0c;因此也可以使用postman等工具操作elasticsearch。 二、安装 lasticsearch-head插件是使用Jav…

C++核心编程——函数高级、类和对象

3 函数提高 3.1 函数默认参数 在C中&#xff0c;函数的形参列表中的形参是可以有默认值的。 语法&#xff1a;返回值类型 函数名 &#xff08;参数默认值&#xff09;{} 注意事项&#xff1a; 1、如果函数的参数列表中某个参数已经有了默认参数&#xff0c;那么从这个参…

cve-2021-2394 weblogic反序列化漏洞分析

前几天weblogic 7月例行更新中&#xff0c;修复了一个Rce漏洞。该漏洞性质属于绕过之前的反序列化漏洞补丁。要了解这个漏洞的原因&#xff0c;我们首先要学习其他几个漏洞的原理。 一 weblogic 反序列化绕过指南 本章节只是大概讲解一下如何绕过weblogic反序列化漏洞的补丁。…

解决selenium的“can‘t access dead object”错误

目录 问题描述 原因 解决方法 示例代码 资料获取方法 问题描述 在python执行过程中&#xff0c;提示selenium.common.exceptions.WebDriverException: Message: TypeError: cant access dead object 原因 原因是代码中用到了frame,获取元素前需要切换到frame才能定位到…

苍穹外卖day11笔记

今日首先介绍前端技术Apache ECharts&#xff0c;说明后端需要准备的数据&#xff0c;然后讲解具体统计功能的实现&#xff0c;包括营业额统计、用户统计、订单统计、销量排名。 一、ECharts 是什么 ECharts是一款基于 Javascript 的数据可视化图表库。我们用它来展示图表数…

一次面试下来Android Framework 层的源码就问了4轮

说起字节跳动的这次面试经历&#xff0c;真的是现在都让我感觉背脊发凉&#xff0c;简直被面试官折磨的太难受了。虽然已经工作了七年&#xff0c;但是也只是纯粹的在写业务&#xff0c;对底层并没有一个很深的认识&#xff0c;这次面试经历直接的让我感受到我和那些一线大厂开…

Client not connected, current status:STARTING

今天项目集成Seata时遇到一个奇怪的异常&#xff0c;在此记录一下。 Linux环境安装Seata&#xff0c;使用Nacos作为配置中心、注册中心&#xff1b; Linux已开放端口&#xff1a;8848、7091、8091 在我Windows环境下可以看到Nacos运行正常&#xff0c;Seata运行也正常&#…

【腾讯云 Cloud Studio 实战训练营】用于编写、运行和调试代码的云 IDE泰裤辣

文章目录 一、引言✉️二、什么是腾讯云 Cloud Studio&#x1f50d;三、Cloud Studio优点和功能&#x1f308;四、Cloud Studio初体验&#xff08;注册篇&#xff09;&#x1f386;五、Cloud Studio实战演练&#xff08;实战篇&#xff09;&#x1f52c;1. 初始化工作空间2. 安…

学习笔记-JAVAJVM-JVM的基本结构及概念

申明&#xff1a;文章内容是本人学习极客时间课程所写&#xff0c;文字和图片基本来源于课程资料&#xff0c;在某些地方会插入一点自己的理解&#xff0c;未用于商业用途&#xff0c;侵删。 原资料地址&#xff1a;课程资料 什么是JVM 原文连接&#xff1a; 原文连接 JVM是J…

谷歌推出AI模型机器人RT2 将文本和图像输出为机器人动作

去年年底&#xff0c;ChatGPT火遍全球&#xff0c;全世界都见识了大语言模型的强大力量。人们对大模型不再陌生&#xff0c;开始使用基于大模型的应用绘画、作图、搜索资料、设计剧情等&#xff0c;而妙用不止于此。谷歌推出了Robotics Transformer 2(RT2)&#xff0c;这是一个…

分布式 - 消息队列Kafka:Kafka生产者架构和配置参数

文章目录 1. kafka 生产者发送消息整体架构2. Kafka 生产者重要参数配置01. acks02. 消息传递时间03. linger.ms04. buffer.memory05. batch.size06. max.in.flight.requests.per.connection07. compression.type08. max.request.size09. receive.buffer.bytes和 send.buffer.b…

【PyQt5+matplotlib】获取鼠标在canvas上的点击坐标

示例代码&#xff1a; import sys import matplotlib.pyplot as plt from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvasclass MyMainWindow(QMainWindow):de…

UE4 像素流 学习笔记

使用场景&#xff1a; 1、登录服务器&#xff0c;服务器上安装node.js Download | Node.js (nodejs.org) 点击该网址 点击Windows Installer 2、登录服务器&#xff0c;拷贝本地UE Pixel Streaming包到服务器 启用插件后重启该项目 然后打包 打包成功过后创建快捷方式 将该I…

SDU Crypto School - 计算不可区分性1

Encryption: Computational security 1-4 主讲人&#xff1a;李增鹏&#xff08;山东大学&#xff09; 参考教材&#xff1a;Jonathan Katz, Yehuda Lindell, Introduction to Modern Cryptography - Principles and Protocols. 什么是加密 首先&#xff0c;加密方案的目的在于…