LambdaQueryWrapper 和 QueryWrapper
时间: 2023-11-08 09:03:10 浏览: 70
LambdaQueryWrapper 和 QueryWrapper 都是 MyBatis-Plus 框架中用于构建 SQL 查询条件的封装类。它们的主要区别在于使用的方式和语法。
QueryWrapper 是 MyBatis-Plus 中最常用的查询条件封装类之一。它使用链式调用的方式,可以通过调用其提供的方法来构建 SQL 查询条件。例如,可以使用 eq 方法来添加等于条件,like 方法来添加模糊查询条件等。QueryWrapper 还支持排序、分页等操作。
LambdaQueryWrapper 是在 QueryWrapper 的基础上进行了进一步的增强。它使用 Lambda 表达式来构建查询条件,可以通过实体类的属性直接进行操作,避免了手写字符串的问题。LambdaQueryWrapper 在类型安全性方面更加优秀,并且可以避免一些常见的编写错误。
在使用 LambdaQueryWrapper 中,我们可以通过调用 lambda 方法来获取对应属性的引用,并结合提供的方法来构建查询条件。例如,可以使用 lambda.eq 方法来添加等于条件,lambda.like 方法来添加模糊查询条件等。
总结一下,QueryWrapper 是传统的链式调用方式构建查询条件,而 LambdaQueryWrapper 则是通过 Lambda 表达式来构建查询条件,提供了更加简洁和类型安全的方法。
相关问题
LambdaQueryWrapper和QueryWrapper
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 ]
LambdaQueryWrapper和queryWrapper
LambdaQueryWrapper和QueryWrapper都是MyBatis-Plus框架中提供的查询条件构造器,用于构建数据库查询语句的查询条件。
LambdaQueryWrapper是基于Lambda表达式的查询条件构造器,使用起来更加简洁和直观。它可以通过Lambda表达式来指定查询条件,可以避免手写字符串的方式构造查询条件,减少了出错的可能性。它还提供了一