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

网站建设公司网站建设专业品牌租服务器价格一览表

网站建设公司网站建设专业品牌,租服务器价格一览表,网站推广方法有几种,南宁最新消息今天在上一篇文章中,我们已经介绍了 MyBatis-Plus 条件构造器,包括 QueryWrapper 和 UpdateWrapper 的基本使用方法、常见查询条件(如等于、不等于、大于、小于)以及如何使用 Lambda 表达式来构建动态查询和更新条件。 在本文中&…

在上一篇文章中,我们已经介绍了 MyBatis-Plus 条件构造器,包括 QueryWrapperUpdateWrapper 的基本使用方法、常见查询条件(如等于、不等于、大于、小于)以及如何使用 Lambda 表达式来构建动态查询和更新条件。

在本文中,我们将进一步扩展 MyBatis-Plus 条件构造器 的使用,增加 左匹配查询like 查询的变体)功能,帮助开发者更好地构建复杂的查询条件。


1. 左匹配查询(likeLeft

在 SQL 中,左匹配查询(也称为 前缀模糊查询)通常用于查找以某个特定字符或子字符串开始的记录。例如,查找所有名字以 “J” 开头的用户。

在 MyBatis-Plus 中,QueryWrapper 提供了 likeLeft 方法来实现左匹配查询。它通过在 like 查询的模式中加上 % 来实现前缀匹配。

1.1 likeLeft 的作用

  • likeLeft 方法在查询条件中拼接 %,使得查询变成“以指定值开头”的模糊匹配。

    例如,查询所有以 “John” 开头的名字:"John%"

1.2 使用 likeLeft 进行左匹配查询

示例:使用 likeLeft 进行左匹配查询

假设有一个用户表 User,包含字段 nameage,我们希望查询所有名字以 John 开头的用户。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name", "John");  // 查询名字以 "John" 开头的用户
List<User> users = userMapper.selectList(queryWrapper);

在这个例子中:

  • likeLeft("name", "John"):生成的 SQL 查询将是:

    SELECT * FROM user WHERE name LIKE 'John%';
    

    这将返回所有名字以 “John” 开头的用户。


2. 使用 QueryWrapperLambdaQueryWrapper 构建复杂查询

2.1 结合其他查询条件进行组合

likeLeft 可以与其他查询条件结合使用,构建更复杂的查询。例如,查询所有年龄大于 20 且名字以 “John” 开头的用户。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 20)  // 查询年龄大于 20.likeLeft("name", "John");  // 查询名字以 "John" 开头
List<User> users = userMapper.selectList(queryWrapper);

在这个例子中:

  • gt("age", 20):查询年龄大于 20 的用户。
  • likeLeft("name", "John"):查询名字以 “John” 开头的用户。

生成的 SQL 会是:

SELECT * FROM user WHERE age > 20 AND name LIKE 'John%';

2.2 使用 LambdaQueryWrapper 进行左匹配查询

QueryWrapper 类似,LambdaQueryWrapper 也支持 左匹配查询,并且通过 Lambda 表达式 来构建查询条件,提供了更好的类型安全。

示例:使用 LambdaQueryWrapper 进行左匹配查询
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.likeLeft(User::getName, "John");  // 查询名字以 "John" 开头的用户
List<User> users = userMapper.selectList(queryWrapper);

在这个例子中:

  • likeLeft(User::getName, "John"):通过 Lambda 表达式引用字段,构建前缀模糊查询,查询名字以 “John” 开头的用户。
注意:
  • LambdaQueryWrapper 提供了更加安全和易读的方式来构建查询条件,它可以避免直接拼接字符串时发生的字段拼写错误。

3. 其他常见查询条件的结合

3.1 使用 likeLeftlikeRight 结合

除了 likeLeft,MyBatis-Plus 还提供了 likeRight 方法用于 右匹配查询(后缀模糊查询)。你可以将它们与其他查询条件结合使用,构建更加灵活的查询。

示例:结合 likeLeftlikeRight
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name", "John")   // 查询名字以 "John" 开头的用户.likeRight("email", "gmail.com");  // 查询邮箱以 "gmail.com" 结尾的用户
List<User> users = userMapper.selectList(queryWrapper);

生成的 SQL 查询为:

SELECT * FROM user WHERE name LIKE 'John%' AND email LIKE '%gmail.com';

3.2 结合 likeLeftin 条件

你还可以将 likeLeft 与其他条件,如 in,结合起来,进行复杂的条件查询。

示例:使用 likeLeftin 条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name", "John")   // 查询名字以 "John" 开头的用户.in("age", 20, 25, 30);  // 查询年龄为 20、25 或 30 的用户
List<User> users = userMapper.selectList(queryWrapper);

生成的 SQL 查询为:

SELECT * FROM user WHERE name LIKE 'John%' AND age IN (20, 25, 30);

4. 总结

  • likeLeft:用于实现 左匹配查询,即查询以指定字符串开头的数据。
  • QueryWrapperLambdaQueryWrapper:都可以用于构建 左匹配查询LambdaQueryWrapper 提供了更强的类型安全性。
  • 多条件组合查询likeLeft 可以与其他查询条件(如 gtltin 等)结合使用,构建更复杂的查询。
  • 灵活的 SQL 构建:MyBatis-Plus 的条件构造器允许开发者通过链式调用和 Lambda 表达式来简洁地构建动态 SQL 查询,提升代码可读性和维护性。

通过 likeLeft 等查询条件,开发者可以轻松构建多种查询场景,满足复杂的业务需求。 🚀

http://www.dtcms.com/a/427156.html

相关文章:

  • [ARC114 C] - Sequence Scores
  • php网站开发实例教程 源码表格在网站后台是居中可到前台为什么不居中
  • 网站建设是什么?政务网站建设目的_意义
  • 【微调大模型】中的梯度概念
  • Android TabLayout使用记录
  • 打开这个你会感谢我的网站网络考试
  • 核心营销词库管理助力品牌提升竞争力
  • UNIX下C语言编程与实践19-UNIX 三级索引结构:直接索引、一级/二级/三级间接索引的文件存储计算
  • 有了实名制域名怎么做网站国内跨境电商公司排行榜
  • 每种字符至少取K个
  • random.gauss()函数和numpy.random.normal()函数生成正态分布随机数
  • 【C++】STL -- 仿函数的定义与使用
  • Linux新环境安装solana开发所需全部套件(持续更新)
  • 一个高性能的HTTP和反向代理服务器:Nginx
  • 人工智能客服应用如何重塑电商服务生态?智能AI软件带来的三大变革
  • 网站建设的注意学校网站开发方案模板
  • 分布式架构初识:为什么需要分布式
  • asp网站用ftp怎么替换图片办公室oa管理系统
  • 个性化的个人网站广州企业开办一网通
  • Transformer(一)---背景介绍及架构介绍
  • 【完整源码+数据集+部署教程】气动铣刀型号分类图像分割系统: yolov8-seg-C2f-SCConv
  • 【Android】强制使用 CPU 大核或超大核
  • 【算法竞赛学习笔记】基础概念篇:算法复杂度
  • SLA操作系统双因素认证实现Windows远程桌面OTP双因子安全登录—从零搭建企业级RDP安全加固体系
  • 现在主流的网站开发语言360房产网郑州官网
  • 石家庄哪个公司做网站好做外贸c2c网站有哪些
  • 伪路径约束
  • 新天力:以全链协同能力构筑食品容器行业领军优势
  • Markdown转换为Word:Pandoc模板使用指南
  • Cloudflare 开源 VibeSDK:开启“氛围编程”新时代的全栈 AI 应用生成平台