一、简介
LambdaQueryWrapperOr是MyBatis-Plus中基于Lambda表达式的查询构造器的一个类,它是LambdaQueryWrapper的扩展类,增加了or操作,并且可以链式调用。
二、使用方法
我们可以使用LambdaQueryWrapper和LambdaQueryWrapperOr快速构建MyBatis的查询条件,其中LambdaQueryWrapper可以链式构造多个查询条件,而LambdaQueryWrapperOr则可以使用or连接多个查询条件,实现复杂的查询逻辑。
下面是一个使用LambdaQueryWrapper和LambdaQueryWrapperOr实现复杂查询逻辑的实例:
LambdaQueryWrapper<User> wrapper = Wrappers.
lambdaQuery(User.class); wrapper.like(User::getName, "test").or(w -> w.like(User::getEmail, "test").gt(User::getAge, 18)); List<User> userList = userMapper.selectList(wrapper);
上面的代码中,我们使用LambdaQueryWrapper构造了两个查询条件:第一个是查询名字中包含”test”的用户,第二个是查询邮箱中包含”test”且年龄大于18岁的用户,这两个查询条件使用or连接,意味着只要两个条件中有一个满足,就可以查询出该用户。
三、常用方法
1. or
用于将多个查询条件使用or连接起来,就像上面的例子一样。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.and(wrapper -> wrapper.eq(TUser::getAge, 18).or().eq(TUser::getName, "张三"));
2. eq
用于构造等于查询条件,语法为:eq(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.eq(TUser::getUserId, 1);
3. ne
用于构造不等于查询条件,语法为:ne(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.ne(TUser::getUserId, 1);
4. gt
用于构造大于查询条件,语法为:gt(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.gt(TUser::getAge, 18);
5. ge
用于构造大于等于查询条件,语法为:ge(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.ge(TUser::getAge, 18);
6. lt
用于构造小于查询条件,语法为:lt(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.lt(TUser::getAge, 18);
7. le
用于构造小于等于查询条件,语法为:le(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.le(TUser::getAge, 18);
8. like
用于构造模糊查询条件,语法为:like(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.like(TUser::getName, "张三");
9. notLike
用于构造非模糊查询条件,语法为:notLike(column, value)。
Wrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.notLike(TUser::getName, "张三");
四、总结
LambdaQueryWrapperOr是MyBatis-Plus中基于Lambda表达式的查询构造器的一个扩展类,使用它可以快速构建MyBatis的查询条件,并且支持链式调用和or操作,实现复杂的查询逻辑。通过本文的介绍,相信大家对LambdaQueryWrapperOr有了更深入的了解和掌握。
原创文章,作者:KCONS,如若转载,请注明出处:https://www.506064.com/n/371780.html