当前位置: 首页 > article >正文

MyBatisPlus 中 LambdaQueryWrapper使用

一、前言

MyBatis-Plus是一个强大的MyBatis扩展插件,它为MyBatis提供了许多实用的功能,其中之一就是LambdaQueryWrapper。LambdaQueryWrapper是一个条件构造器,用于构建SQL查询条件。通过使用LambdaQueryWrapper,我们可以以更简洁、更直观的方式编写查询条件,提高开发效率。

LambdaQueryWrapper是MyBatis-Plus提供的一个条件构造器,它基于Java 8的Lambda表达式特性,允许我们通过Lambda表达式来构建查询条件。LambdaQueryWrapper可以替代传统的QueryWrapper,使得代码更加简洁、易读。

二、LambdaQueryWrapper的常用方法

方法作用
eq(column, value):等于
ne(column, value):不等于
gt(column, value)大于
ge(column, value)大于等于
lt(column, value):小于
le(column, value)小于等于
like(column, value)模糊查询
notLike(column, value)不模糊查询
in(column, valueList):在指定集合中
notIn(column, valueList)不在指定集合中
isNull(column):为空
isNotNull(column):不为空
orderByAsc(column)升序排序
orderByDesc(column):降序排序

三、使用LambdaQueryWrapper进行条件查询

下面通过一个简单的示例来演示如何使用LambdaQueryWrapper进行条件查询。

查询OperationTime 在开始时间和结束时间之内,StateCode等于已执行的cd,DeleteFlag等于0的数据集合


// OperationTime 在开始时间和结束时间之内,StateCode等于已执行的cd,DeleteFlag等于0
List<OrderStateDO> orderStateList = ChainWrappers.lambdaQueryChain(this.orderStateMapper).eq(OrderStateDO::getOrderId, request.getOrderId())
                .ge(Objects.nonNull(request.getStartDate()), OrderStateDO::getOperationTime, request.getStartDate())
                .le(Objects.nonNull(request.getEndDate()), OrderStateDO::getOperationTime, request.getEndDate())
                .eq(OrderStateDO::getStateCode, MedordStaEnum.EXECUTE.getCd())
                .eq(OrderStateDO::getDeleteFlag, IfEnum.NO.getCode()).list();
                

LambdaQueryWrapper支持链式调用,因此我们可以将多个条件方法连在一起,以构建更复杂的查询条件。

四、总结

LambdaQueryWrapper是MyBatis-Plus提供的一个强大的条件构造器,它允许我们通过Lambda表达式来构建查询条件,使得代码更加简洁、易读。通过掌握LambdaQueryWrapper的常用方法,我们可以轻松实现各种查询需求,提高开发效率。


http://www.kler.cn/a/374879.html

相关文章:

  • computed拦截v-model
  • 【真题笔记】15年系统架构设计师要点总结
  • Maple MapleSim 2024.2 新版本发布
  • ts:使用fs内置模块简单读写文件
  • 从倍压整流到二极管钳位与限幅
  • 【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频
  • ffmpeg+vue2
  • C++STL详解(九)map和set的使用
  • 探索高效办公新利器 ——ONLYOFFICE
  • TON 区块链开发的深入概述#TON链开发#DAPP开发#交易平台#NFT#Gamefi链游
  • django校园兼职系统-计算机毕业设计源码95561
  • 启明创投与七牛云坚定看好云计算发展前景
  • Java爬虫:如何优雅地从1688获取商品详情
  • 供应商图纸外发:如何做到既安全又高效?
  • 每日算法一练:剑指offer——数组篇(6)
  • 不适合的学习方法
  • SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式
  • 开源AI智能名片2+1链动模式S2B2C商城小程序领域的未来探索
  • Rust 力扣 - 238. 除自身以外数组的乘积
  • 支持向量机背后的数学奥秘
  • 开源数据库 - mysql - MYSQL8.4版本删除功能
  • 【React】react-app-env.d.ts 文件
  • Android 音量调节流程分析
  • 【牛客算法】某司面试算法题:找出最长山脉的长度
  • 微服务设计模式 - 大使模式(Ambassador Pattern)
  • 怎么在哔哩哔哩保存完整视频