MyBatis-Plus中的LambdaQueryWrapper

一.LambdaQueryWrapper介绍

LambdaQueryWrapper是MyBatis-Plus中的一个类,用于在Java代码中使用Lambda表达式来构建数据库查询条件。它是对QueryWrapper的增强版本,能够更加便捷地进行条件封装。

使用LambdaQueryWrapper可以让你以Lambda表达式的方式编写数据库查询条件,这种方式相比传统的字符串拼接方式更加类型安全和直观。LambdaQueryWrapper可以结合实体类的字段名来编写查询条件,避免了手写字段名字符串可能带来的拼写错误和不易维护的问题。

例如,在MyBatis-Plus中,你可以这样使用LambdaQueryWrapper来查询符合条件的记录:

LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAge, 25).like(User::getName, "Tom");

List<User> userList = userDao.selectList(wrapper);

这段代码使用LambdaQueryWrapper构建了一个查询条件:查询年龄等于25并且姓名包含"Tom"的用户列表。

二.LambdaQueryWrapper常用查询方法条件

LambdaQueryWrapper是用于构建数据库查询条件的工具类,它支持使用Lambda表达式来编写查询条件,相比传统的字符串拼接方式更加类型安全和直观。以下是LambdaQueryWrapper常用的查询条件方法及其作用:

  1. eq:等于,例如 wrapper.eq(User::getAge, 25) 表示查询年龄等于25的记录。

  2. ne:不等于,例如 wrapper.ne(User::getAge, 30) 表示查询年龄不等于30的记录。

  3. gt、ge:大于、大于等于,例如 wrapper.gt(User::getAge, 20) 表示查询年龄大于20的记录。

  4. lt、le:小于、小于等于,例如 wrapper.lt(User::getAge, 30) 表示查询年龄小于30的记录。

  5. like、notLike:模糊查询、不包含查询,例如 wrapper.like(User::getName, "Tom") 表示查询姓名包含"Tom"的记录。

  6. isNull、isNotNull:空值查询、非空值查询,例如 wrapper.isNull(User::getEmail) 表示查询邮箱字段为空的记录。

  7. in、notIn:包含在列表中、不包含在列表中,例如 wrapper.in(User::getId, Arrays.asList(1, 2, 3)) 表示查询ID在指定列表中的记录。

  8. between、notBetween:在某个范围内、不在某个范围内,例如 wrapper.between(User::getAge, 20, 30) 表示查询年龄在20到30之间的记录。

  9. orderBy:排序,例如 wrapper.orderByAsc(User::getAge) 表示按年龄升序排序。

  10. and、or:逻辑与、逻辑或,可以用来组合多个条件,例如 wrapper.eq(User::getAge, 25).and(wrapper.like(User::getName, "Tom")) 表示查询年龄等于25并且姓名包含"Tom"的记录。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值