LambdaQueryWrapper 和querywapper
时间: 2023-10-15 19:23:33 浏览: 74
LambdaQueryWrapper和QueryWrapper都是MyBatis-Plus框架中用于构建查询条件的辅助类。
QueryWrapper是MyBatis-Plus中最初的查询条件构建类,它使用字符串拼接的方式构建查询条件。使用QueryWrapper,我们需要手动编写完整的字符串查询条件,例如:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 20)
.like("name", "John")
.orderByAsc("id");
```
LambdaQueryWrapper是对QueryWrapper的增强,它提供了基于Lambda表达式的方式来构建查询条件,更加简洁和类型安全。使用LambdaQueryWrapper,我们可以直接使用实体类的属性名,而不需要手动编写字符串,例如:
```java
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(User::getAge, 20)
.like(User::getName, "John")
.orderByAsc(User::getId);
```
LambdaQueryWrapper还支持类型安全的属性引用,编译时会进行属性名检查,减少了编写错误的可能性。
总之,LambdaQueryWrapper是在QueryWrapper基础上增加了一种更加简洁、类型安全的构建查询条件的方式。在实际开发中,可以根据个人喜好和项目需求选择使用哪一种。
阅读全文