LambdaQueryWrapper中or
时间: 2023-10-19 10:34:15 浏览: 53
LambdaQueryWrapper中的or方法可以用于将多个查询条件使用or逻辑进行连接。使用lambda表达式写法更为清晰简洁。例如,如果要使用or连接两个查询条件,可以使用如下代码:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(User::getName,"aa");
queryWrapper.lambda().or().ge(User::getAge,20);
```
这段代码将会生成一个查询条件,要求查询结果中姓名为"aa"或者年龄大于等于20的用户。
如果要使用or连接多个查询条件,可以使用以下方法:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().and(wq->{
wq.like(User::getName,"aa");
wq.or().like(User::getName,"bb");
});
```
这段代码将生成一个查询条件,要求查询结果中姓名包含"aa"或者"bb"的用户。
对于需要or连接的一个集合内的所有元素的场景,可以使用以下方法:
```java
List<String> nameList = Lists.newArrayList("aa","bb","cc");
String firstName = nameList.get(0);
nameList.remove(0);
queryWrapper.lambda().and(wq->{
wq.like(User::getName,firstName);
for(String name : nameList){
wq.or().like(User::getName,name);
}
});
```
这段代码将生成一个查询条件,要求查询结果中姓名包含集合中所有元素的用户。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [QueryWrapper的lambda表达式使用OR](https://blog.csdn.net/coder_afly/article/details/128870428)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]