第二十六章: mybatis plus 如何使用`LambdaQueryWrapper` 和 `QueryWrapper`

第二十六章: mybatis plus 如何使用LambdaQueryWrapperQueryWrapper

目标

  • 掌握 LambdaQueryWrapperQueryWrapper的用法
  • 掌握 List对象转map对象
  • 掌握 List对象获取某字段的集合

LambdaQueryWrapperQueryWrapper 是 MyBatis-Plus 中提供的查询条件构造器,用于简化 SQL 查询条件的构建。这两个类的主要区别在于 LambdaQueryWrapper 使用了 Java 8 的 Lambda 表达式,使得字段引用更为安全和简洁;而 QueryWrapper 则通过字符串来指定字段名。

实验

LambdaQueryWrapper 用法

  1. 基本查询
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();  
queryWrapper.eq(User::getName, "John");  
List<User> users = userMapper.selectList(queryWrapper);
  1. 排序
queryWrapper.orderByAsc(User::getAge);
  1. 多条件查询
queryWrapper.like(User::getEmail, "gmail")  
             .gt(User::getAge, 18);
  1. IN 查询
queryWrapper.in(User::getId, Arrays.asList(1, 2, 3));
  1. 选择字段
queryWrapper.select(User::getName, User::getAge);

QueryWrapper 用法

  1. 基本查询
QueryWrapper<User> queryWrapper = new QueryWrapper<>();  
queryWrapper.eq("name", "John");  
List<User> users = userMapper.selectList(queryWrapper);
  1. 排序
queryWrapper.orderByAsc("age");
  1. 多条件查询
queryWrapper.like("email", "gmail")  
             .gt("age", 18);
  1. IN 查询
queryWrapper.in("id", Arrays.asList(1, 2, 3));
  1. 选择字段
queryWrapper.select("name", "age");

总结

注意事项
  • 使用 LambdaQueryWrapper 时,字段引用是通过方法引用实现的,如 User::getName,这样可以避免由于字段名拼写错误导致的运行时错误。
  • 使用 QueryWrapper 时,需要直接提供字段名的字符串,因此如果字段名发生变化,你需要手动更新查询条件中的字段名。
  • 为了保证查询的正确性,建议在使用 QueryWrapper 时,确保字段名的准确性,并在可能的情况下使用 LambdaQueryWrapper

总之,LambdaQueryWrapperQueryWrapper 都为 MyBatis-Plus 提供了强大的查询条件构造功能,你可以根据项目的需求和习惯选择使用。

相关推荐

  1. 第二 :Docker 内部 DNS 服务如何使用

    2024-04-21 22:24:06       38 阅读
  2. QuerywrapperLambdaquerywrappe比较

    2024-04-21 22:24:06       43 阅读
  3. Linux 第二

    2024-04-21 22:24:06       33 阅读
  4. mybatisplus QueryWrapper or 写法

    2024-04-21 22:24:06       39 阅读
  5. 第二 版本管理 - GIT

    2024-04-21 22:24:06       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 22:24:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 22:24:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 22:24:06       82 阅读
  4. Python语言-面向对象

    2024-04-21 22:24:06       91 阅读

热门阅读

  1. Linux虚拟化————KVM

    2024-04-21 22:24:06       37 阅读
  2. STM32 HAL 主从 双机通信

    2024-04-21 22:24:06       35 阅读
  3. C#:闰年判断

    2024-04-21 22:24:06       32 阅读
  4. 暴雨智算中心解决方案助跑人工智能新赛道

    2024-04-21 22:24:06       30 阅读
  5. 音频数据分析注意事项

    2024-04-21 22:24:06       35 阅读
  6. 网页vue3导出pdf

    2024-04-21 22:24:06       32 阅读
  7. xv6源码剖析 009

    2024-04-21 22:24:06       37 阅读
  8. 密码学 | 承诺:Pedersen 承诺 + ZKP

    2024-04-21 22:24:06       35 阅读
  9. 头歌实训作业答案c++

    2024-04-21 22:24:06       35 阅读
  10. 物理安全中-机房安全包含哪些内容

    2024-04-21 22:24:06       33 阅读