LambdaUpdateWrapper和LambdaQueryWrapper区别

LambdaUpdateWrapperLambdaQueryWrapper是MyBatis-Plus中用于构建SQL操作的两个重要工具类,它们都利用Lambda表达式来提供类型安全的条件构建。尽管它们在语法和使用方式上相似,但在用途和功能上存在明显差异。

1. 用途

  • LambdaQueryWrapper:用于构建查询操作的条件。它帮助你以类型安全的方式构建复杂的查询条件,适用于SELECT语句。

  • LambdaUpdateWrapper:用于构建更新操作的条件和设置更新的字段。它不仅帮助你构建更新条件,还允许你指定哪些字段需要更新,适用于UPDATE语句

2. 主要方法

  • LambdaQueryWrapper

    • eqnegtltgele:用于构建等于、不等于、大于、小于、大于等于、小于等于条件。

    • likenotLike:用于构建模糊查询条件。

    • andor:用于组合多个条件。

    • orderByAscorderByDesc:用于添加排序条件。

    • select:用于选择特定的字段。

  • LambdaUpdateWrapper

    • eqnegtltgele:用于构建更新条件。

    • set:用于设置更新的字段和值。

    • andor:用于组合多个条件。

3. 使用场景

  • LambdaQueryWrapper:当你需要构建复杂的查询条件时使用。例如,根据多个字段进行查询、模糊查询、排序等。

  • LambdaUpdateWrapper:当你需要构建更新操作的条件并指定更新的字段时使用。例如,根据某些条件更新记录的特定字段。

4. 示例代码

  • LambdaQueryWrapper

    java复制

    LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.like(User::getName, "张").ge(User::getAge, 18);
    List<User> users = userMapper.selectList(queryWrapper);
  • LambdaUpdateWrapper

    java复制

    LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
    updateWrapper.set(User::getAge, 25).eq(User::getName, "张三");
    userMapper.update(null, updateWrapper);

 

总结

  • LambdaQueryWrapper:用于构建查询条件,适用于SELECT语句。

  • LambdaUpdateWrapper:用于构建更新条件和设置更新字段,适用于UPDATE语句。

两者都通过Lambda表达式提供类型安全的条件构建,避免了手动拼接字符串可能带来的错误,提高了代码的可读性和安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

登登登__

期待每一份真诚

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值