LambdaQueryWrapper和QueryWrapper
时间: 2023-08-26 13:18:23 浏览: 334
LambdaQueryWrapper和QueryWrapper都是MyBatis-Plus框架中的查询条件封装类。它们都可以用于构建数据库查询条件,但使用的语法和方式略有不同。
LambdaQueryWrapper是基于Lambda表达式的查询条件封装类。通过LambdaQueryWrapper,我们可以使用实体类的属性名来构建查询条件,可以避免硬编码字符串字段名的问题。例如,使用LambdaQueryWrapper可以这样构建查询条件:
```java
LambdaQueryWrapper<User> user = new LambdaQueryWrapper<>();
user.eq(User::getState, 1);
user.eq(User::getEnable, 1);
```
在上述例子中,eq方法表示等于条件,User::getState表示获取User实体类的state属性。
QueryWrapper是基于普通字符串的查询条件封装类。通过QueryWrapper,我们需要使用数据库字段的字符串名来构建查询条件。例如,使用QueryWrapper可以这样构建查询条件:
```java
QueryWrapper<User> user = new QueryWrapper<>();
user.eq("state", 1);
user.eq("enable", 1);
```
在上述例子中,eq方法的参数是数据库字段的字符串名,表示等于条件。
综上所述,LambdaQueryWrapper和QueryWrapper都是用于构建查询条件的封装类,LambdaQueryWrapper使用Lambda表达式,可以避免硬编码字符串字段名的问题,QueryWrapper使用普通字符串,需要使用数据库字段的字符串名构建查询条件。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [QueryWrapper和LambdaQueryWrapper mybatis-plus](https://blog.csdn.net/qq_60547244/article/details/120776843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文
相关推荐


















