MyBatisplus提供了条件构造器请解释举例
时间: 2023-07-19 14:14:38 浏览: 55
MyBatisplus提供了强大的条件构造器,可以方便地进行复杂的查询条件组合。条件构造器有两种使用方式:Wrapper和LambdaQueryWrapper。
Wrapper是最基本的条件构造器,可以通过Wrapper的各种方法来组合查询条件,例如eq、ne、gt、ge、lt、le、in、notIn、like、notLike等等。以下是一个使用Wrapper的示例代码:
```java
Wrapper<User> wrapper = new QueryWrapper<User>()
.eq("name", "Tom")
.between("age", 20, 30)
.in("status", 1, 2, 3)
.orderByAsc("age")
.last("limit 10");
List<User> users = userMapper.selectList(wrapper);
```
LambdaQueryWrapper是基于Java8 Lambda表达式的条件构造器,可以更加简洁地组合查询条件。LambdaQueryWrapper的方法名与Wrapper相同,只是在方法名前加了一个Lambda关键字,例如lambdaEq、lambdaBetween、lambdaIn、lambdaLike等等。以下是一个使用LambdaQueryWrapper的示例代码:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
.eq(User::getName, "Tom")
.between(User::getAge, 20, 30)
.in(User::getStatus, 1, 2, 3)
.orderByAsc(User::getAge)
.last("limit 10");
List<User> users = userMapper.selectList(wrapper);
```
使用LambdaQueryWrapper可以更加优雅地编写查询条件,同时也可以避免一些拼写错误和类型转换错误。