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

MyBatis-Plus 常用条件构造方法

1.常用条件方法

方法

说明
eq等于 =
ne不等于 <>
gt大于 >
ge大于等于 >=
lt小于 <
le小于等于 <=
betweenBETWEEN 值1 AND 值2
notBetweenNOT BETWEEN 值1 AND 值2
likeLIKE '%值%'
notLikeNOT LIKE '%值%'
likeLeftLIKE '%值'
likeRightLIKE '值%'
isNull字段 IS NULL
isNotNull字段 IS NOT NULL
in字段 IN (值1, 值2, ...)
notIn字段 NOT IN (值1, 值2, ...)
groupBy分组 GROUP BY 字段
orderByAsc排序 ORDER BY 字段 ASC
orderByDesc排序 ORDER BY 字段 DESC
having

HAVING (SQL语句)

这是一些使用service查询的例子

//.查询笔记作者的所有粉丝select* from tb_follow where follow_user_id = ?List<Follow> follows = followService.query().eq("follow_user_id", user.getId()).list();//扣减boolean success = seckillVoucherService.update().setSql("stock = stock - 1")//set stock=stock-1.eq("voucher_id", voucherOrder.getVoucherId()) //where id=? and stock>0.gt("stock", 0).update();

2.条件构造器

MyBatis-Plus 提供了强大的条件构造器 Wrapper,用于构建复杂的查询条件。

QueryWrapper

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张").between("age", 20, 30).isNotNull("email").orderByDesc("age");
List<User> users = baseMapper.selectList(wrapper);QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", 1).ge("age", 18).le("age", 30).like("name", "张").orderByDesc("create_time");
List<User> user=baseMapper.selectList(queryWrapper);

LambdaQueryWrapper (推荐)

//查询20—30岁,名字有张字邮箱不为空
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.like(User::getName, "张").between(User::getAge, 20, 30).isNotNull(User::getEmail).orderByDesc(User::getAge);List<User> users = userMapper.selectList(wrapper);// 分页查询
IPage<User> page = new Page<>(1, 10); // 当前页,每页大小
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.ge(User::getAge, 20);
IPage<User> userPage = userMapper.selectPage(page, wrapper);

http://www.xdnf.cn/news/13191.html

相关文章:

  • 什么是WBS项目管理?wbs项目管理有哪些核心功能?
  • 生产管理系统开发:专业软件开发公司的实践与思考
  • linux驱动开发(3)-页面分配器
  • C++模版初阶
  • deepseek: 重装系统
  • 【C/C++】玩转正则表达式
  • SQL-labs通关(23-38)
  • 使用VMware克隆功能快速搭建集群
  • 前端大文件分片上传详解 - Spring Boot 后端接口实现
  • 《机器学习》(周志华)第二章 模型评估与选择
  • 基于cornerstone3D的dicom影像浏览器 第三十一章 从PACS服务加载图像
  • 人工智能新纪元:技术跃迁、行业变革与未来挑战
  • python正则表达式
  • 【自动控制原理】分析和设计控制系统的性能(*^▽^*)
  • Libero SoC v2024.2 软件安装与LICENSE申请
  • Vue3中的computer和watch
  • RocketMQ 重试机制详解及最佳实践
  • 计算机网络笔记(三十二)——5.4可靠传输的工作原理
  • 【PHP】BC Math 函数参考表
  • 反射获取方法和属性
  • 2-2 Linux-命令入门(2025.6.9学习篇)
  • uni-app页面发布测试环境出现连接服务器超时,点击屏幕重试解决方案
  • Flv与Rtmp
  • Jetpack Compose 与 ViewModel 的完美结合
  • docker开启2375端口-docker开启api接口 ,实现远程访问,dockerapi官方文档
  • NIFI的处理器:SplitJson 2.4.0
  • 适配java8版本的langchian4j实战
  • 【黑客与安全】Linux的常用命令之系统架构信息获取系列命令
  • 深入解析C#表达式求值:优先级、结合性与括号的魔法
  • Tauri2学习笔记