lambdaquerywrapper和wrapper
时间: 2023-08-31 08:14:06 浏览: 147
mybatis-plus QueryWrapper条件查询器
LambdaQueryWrapper和QueryWrapper是MyBatis-Plus框架中用于构建查询条件的两个类。它们的使用方式有一些区别。
LambdaQueryWrapper的使用方式如下:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
.eq(StringUtils.isNotBlank(user.getNickName()), User::getNickName, user.getNickName())
.eq(user.getId() != null, User::getId, user.getId());
List<User> userList = userDao.selectList(wrapper);
```
LambdaQueryWrapper使用Lambda的语法来匹配列名,更偏向于对象的方式。它的优点是不需要写具体的列名,而是使用纯Java的方式,避免了拼写错误。如果在LambdaQueryWrapper的写法中有错误,编译期就会报错,而不是在运行时才会报错。
QueryWrapper的使用方式如下:
```java
QueryWrapper<User> wrapper = new QueryWrapper<User>()
.eq(StringUtils.isNotBlank(user.getNickName()), "nick", user.getNickName())
.eq(user.getId() != null, "id", user.getId());
List<User> userList = userDao.selectList(wrapper);
```
QueryWrapper使用数据库中的字段名(一般是下划线规则)来匹配列名。它需要写具体的列名,如果列名写错了,只能在运行时才能发现错误。
综上所述,LambdaQueryWrapper和QueryWrapper都是用于构建查询条件的类,LambdaQueryWrapper使用Lambda的语法来匹配列名,而QueryWrapper使用数据库中的字段名来匹配列名。LambdaQueryWrapper的优点是不需要写具体的列名,避免了拼写错误。
#### 引用[.reference_title]
- *1* *2* *3* [LambdaQueryWrapper和QueryWapper的区别](https://blog.csdn.net/weixin_46130858/article/details/125989769)[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]
[ .reference_list ]
阅读全文