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

MybatisPlus如何用wrapper语句灵活连接多查询条件

目录

第一步:了解查询语句规则

第二步:了解wrapper语句规则

​编辑我们如何解决这个问题:(手动加括号!)


第一步:了解查询语句规则

第二步:了解wrapper语句规则

对于wrapper语句来说

likeright = "内容%"

like = "%内容%"

likeleft = "%内容"

eq就是等于,属于精准查询

如果不加wrapper.or()那么默认用and连接

结果就会是这样,上述我们也说过了,And的优先级大于or


我们如何解决这个问题:(手动加括号!)
 

wrapper.and就相当于加小括号

 wrapper.and(wq -> {wq.likeRight(ContentEntity::getContentTags, contentTags + split).or().like(ContentEntity::getContentTags, split + contentTags + split).or().likeLeft(ContentEntity::getContentTags, split + contentTags).or().eq(ContentEntity::getContentTags, contentTags);});wrapper.eq(ContentEntity::getContentPublishStatus, 1).eq(ContentEntity::getDel, 0).orderByDesc(ContentEntity::getContentSort);

那么生成的条件语句通过

System.out.println(wrapper.getCustomSqlSegment());

打印结果如下 :

WHERE (-- 标签匹配条件(content_tags LIKE #{ew.paramNameValuePairs.MPGENVAL1} ORcontent_tags LIKE #{ew.paramNameValuePairs.MPGENVAL2} ORcontent_tags LIKE #{ew.paramNameValuePairs.MPGENVAL3} ORcontent_tags = #{ew.paramNameValuePairs.MPGENVAL4})-- 状态筛选条件AND content_publish_status = #{ew.paramNameValuePairs.MPGENVAL5}AND del = #{ew.paramNameValuePairs.MPGENVAL6}
)
ORDER BY content_sort DESC

http://www.lryc.cn/news/607423.html

相关文章:

  • [位运算]2411. 按位或最大的最小子数组长度
  • 安卓开发--RelativeLayout(相对布局)
  • AI在安全方面的十个应用场景
  • 技术栈:基于Java语言的搭子_搭子社交_圈子_圈子社交_搭子小程序_搭子APP平台
  • 电子合同管理台账功能详解
  • 移除 Excel 文件(.xlsx)的工作表保护
  • EasyExcel 公式计算大全
  • python进程、线程、协程
  • 【LeetCode 热题 100】155. 最小栈
  • 【东枫科技】DreamHAT+
  • 【人工智能-17】机器学习:KNN算法、模型选择和调优、朴素贝叶斯分类
  • kafka快速部署、集成、调优
  • 力扣 hot100 Day62
  • 机器学习sklearn:编码、哑变量、二值化和分段
  • TCP协议的特点和首部格式
  • 同品牌的系列广告要如何保证宣传的连贯性?
  • 广东省省考备考(第六十三天8.1)——判断推理(强化训练)
  • 国产开源大模型崛起:使用Kimi K2/Qwen2/GLM-4.5搭建编程助手
  • Galaxea机器人由星海图人工智能科技有限公司研发的高性能仿人形机器人
  • 大模型结构比较
  • uniapp 开发微信小程序,获取经纬度(uni.getLocation)并且转化详细地址(‌高德地图逆地理编码API、‌腾讯地图逆地理编码)
  • SIP 呼叫中实现远端摄像头控制学习笔记
  • axios请求的取消
  • 什么是链游
  • Spring Boot Actuator 保姆级教程
  • JavaWeb--Student2025项目:增删改查
  • 七彩喜艾灸机器人:让传统艾灸变简单,健康养生触手可及
  • HarmonyOS 应用拉起系列(一):应用与元服务互通方式
  • 乐观锁是数据库和多线程编程中常用的一种控制并发的方法
  • 【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)