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

MyBatisPlus 中,模糊查询

在 MyBatisPlus 中,模糊查询主要通过 QueryWrapper 或 LambdaQueryWrapper 来实现,以下是一些常见的模糊查询方法及示例:
常见模糊查询方法
方法名    描述    示例 SQL
`like`    前后模糊匹配,即 `%值%`    `name LIKE '%J%'`
`notLike`    不模糊匹配,即 `NOT LIKE %值%`    `name NOT LIKE '%J%'`
`likeLeft`    左模糊匹配,即 `%值`    `name LIKE '%J'`
`likeRight`    右模糊匹配,即 `值%`    `name LIKE 'J%'`
`notLikeLeft`    不左模糊匹配,即 `NOT LIKE %值`    `name NOT LIKE '%J'`
`notLikeRight`    不右模糊匹配,即 `NOT LIKE 值%`    `name NOT LIKE 'J%'`
示例代码
使用 QueryWrapper
QueryWrapper<User> queryWrapper = new QueryWrapper<>();

// 查询姓名包含 "佳" 的用户
queryWrapper.like("name", "佳"); // SQL: name LIKE '%佳%'

// 查询姓名不包含 "佳" 的用户
queryWrapper.notLike("name", "佳"); // SQL: name NOT LIKE '%佳%'

// 查询姓名以 "黄" 开头的用户
queryWrapper.likeRight("name", "黄"); // SQL: name LIKE '黄%'

// 查询姓名以 "佳" 结尾的用户
queryWrapper.likeLeft("name", "佳"); // SQL: name LIKE '%佳'

使用 LambdaQueryWrapper
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();

// 查询姓名包含 "J" 的用户
lambdaQueryWrapper.like(User::getName, "J"); // SQL: name LIKE '%J%'

// 查询姓名不包含 "J" 的用户
lambdaQueryWrapper.notLike(User::getName, "J"); // SQL: name NOT LIKE '%J%'

// 查询姓名以 "e" 结尾的用户
lambdaQueryWrapper.likeLeft(User::getName, "e"); // SQL: name LIKE '%e'

// 查询姓名以 "张" 开头的用户
lambdaQueryWrapper.likeRight(User::getName, "张"); // SQL: name LIKE '张%'

注意事项
•  在实际开发中,通常会结合条件判断来动态构建查询条件,例如使用 StringUtils.hasText() 来判断参数是否有效,避免空值导致的异常。
•  QueryWrapper 和 LambdaQueryWrapper 的使用方式类似,但 LambdaQueryWrapper 提供了更安全的字段引用方式,推荐使用。
•  模糊查询时,% 是 SQL 中的通配符,表示匹配任意长度的字符,而 _ 表示匹配单个字符。

相关文章:

  • SQL Server安装进度卡在 57%:Windows Update 服务异常
  • 基于大模型的自发性气胸全方位预测与诊疗方案研究
  • 数字人分身生成50语种发布会视频技术架构深度解析
  • 【蓝桥杯】单片机设计与开发,PWM
  • 面试的时候问到了HTML5的新特性有哪些
  • eBay多账号安全运营技术体系:从环境隔离到智能风控的工程化实践
  • 百度文库标题生成器 v2.0:高效创作,一键生成文章优质标题生成器
  • 如何验证极端工况下的系统可靠性?
  • 无人机DSP处理器工作要点!
  • 3.28日,NBA,欧篮联全扫盘,太阳VS森林狼
  • 使用git-lfs管理大文件
  • Giteki 认证:无线产品进入日本市场的关键保障
  • STM32通用定时器结构框图
  • Linux常见使用场景
  • c# ftp上传下载 帮助类
  • 【Java SE】String类详解
  • Android 图片裁剪 压缩等处理记录
  • Linux内核软中断分析
  • Linux命令大全:从入门到高效运维
  • Flutter 2025生态全景:从跨端到嵌入式开发的新机遇
  • 佛山顺德容桂网站制作/百度站长工具官网
  • 江苏做网站/一站式网站建设公司
  • 织梦网站流动广告代码/如何进行搜索引擎优化?
  • 珠海网站建立/seo薪酬如何
  • 做波霸奶茶店网站/搜索引擎排行榜
  • 响应式网站开发支持ie6解决/百度seo优化价格