LambdaQueryWrapper里面对于or的使用方法,代码详情
时间: 2023-10-12 19:16:24 浏览: 119
MyBatisPlus中使用or()和and()遇到的问题及细节处理
LambdaQueryWrapper是MyBatis-Plus框架中的一个查询构造器,它支持链式调用,可以方便地构建复杂的SQL查询语句。在LambdaQueryWrapper中,可以使用or方法来实现OR查询。
具体的使用方法如下:
1. 导入LambdaQueryWrapper和QueryWrapper类:
```java
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
```
2. 创建LambdaQueryWrapper对象:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
```
3. 使用or方法构建OR查询:
```java
wrapper.eq(User::getUsername, "admin")
.or()
.eq(User::getUsername, "root");
```
上面的代码中,先使用eq方法添加一个条件,表示查询用户名为"admin"的用户,然后使用or方法,表示或者查询用户名为"root"的用户。
完整的代码示例:
```java
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
void testLambdaQueryWrapper() {
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getUsername, "admin")
.or()
.eq(User::getUsername, "root");
Page<User> page = new Page<>(1, 10);
userMapper.selectPage(page, wrapper);
System.out.println(page.getRecords());
}
}
```
上面的代码中,使用LambdaQueryWrapper构建查询条件,查询用户名为"admin"或者"root"的用户,并使用selectPage方法进行分页查询,最后打印查询结果。
阅读全文