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

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);

相关文章:

  • uniapp实现的具备丝滑动画的标签工具栏模板
  • Django 5 学习笔记总纲
  • [蓝桥杯 2024 国 Java B] 美丽区间
  • Unity中的Mathf.Lerp
  • 记录一次opengl显示不出物体的错误原因
  • SQL进阶之旅 Day 22:批处理与游标优化
  • 什么是闭包,JavaScript闭包详解
  • 47 通道注意力 热力图
  • 基于Java项目的Karate API测试
  • SpringBoot配置
  • 245. 2019年蓝桥杯国赛 - 数正方形(困难)- 递推
  • Redis实战-黑马点评项目完结(p78-p95)
  • 曼昆《经济学原理》第九版 第十二章税收制度的设计
  • MQTT示例体验(C)
  • PyCharm 和 Anaconda 搭建Python环境【图文教程】
  • JAVA开发工具箱
  • 【ubuntu24.04】普通用户如何操作samba挂载的文件夹
  • 曼昆《经济学原理》第九版 第十章外部性
  • LangGraph 应用实例解析
  • Mysql故障排插与环境优化
  • 政府网站建设的调查报告/百度搜索引擎地址
  • 迪士尼网站是谁做的/广告营销策划
  • 可视化响应式网站建设/互联网的推广
  • 网站服务器租用还是自买/新闻软文广告
  • 网站模板前台后台/湖北seo推广
  • 如何下载js做的网站/长尾关键词什么意思