LambdaQueryWrapper用这个写
时间: 2023-11-17 09:03:38 浏览: 32
LambdaQueryWrapper是Mybatis-Plus提供的一个查询构造器,可以通过lambda表达式来构建查询条件。下面是一个使用LambdaQueryWrapper的示例代码:
```java
LambdaQueryWrapper<BannerItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BannerItem::getBannerId, id);
List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);```
这段代码的作用是查询BannerItem表中bannerId等于id的记录。其中,LambdaQueryWrapper的eq方法表示等于,BannerItem::getBannerId表示获取BannerItem对象的bannerId属性,id是要查询的值。
相关问题
LambdaQueryWrapper条件分开来写怎写
LambdaQueryWrapper是MyBatis-Plus中的一个查询构造器,可以用于构建复杂的查询条件。如果想要将条件分开来写,可以使用LambdaQueryWrapper的链式调用方式,每次调用一个条件方法,例如eq()、like()等,都会返回一个新的LambdaQueryWrapper对象,可以继续调用其他条件方法。下面是一个LambdaQueryWrapper条件分开来写的示例代码:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getName, "张三")
.ne(User::getAge, 18)
.between(User::getSalary, 1000, 5000)
.like(User::getEmail, "@gmail.com");
List<User> userList = userService.list(queryWrapper);
```
以上代码中,首先创建了一个LambdaQueryWrapper对象queryWrapper,然后分别调用了eq()、ne()、between()和like()等条件方法,每次调用都返回一个新的LambdaQueryWrapper对象,最后调用了list()方法执行查询操作。
LambdaQueryWrapper写一个分页条件查询
使用 LambdaQueryWrapper 进行分页条件查询的示例代码如下:
```
Page<User> page = new Page<>(1, 10); // 第一页,每页显示 10 条记录
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
.eq(User::getGender, GenderEnum.MALE) // 查询性别为男性的用户
.ge(User::getAge, 18) // 查询年龄大于等于 18 岁的用户
.orderByDesc(User::getCreateTime); // 按创建时间降序排序
IPage<User> userPage = userService.page(page, queryWrapper);
List<User> userList = userPage.getRecords(); // 当前页的记录列表
long total = userPage.getTotal(); // 记录总数
```
在上面的代码中,Page 对象表示分页信息,其中第一个参数是当前页码,第二个参数是每页显示的记录数;LambdaQueryWrapper 对象用于设置查询条件,它通过调用 Lambda 表达式来指定查询条件;IPage 对象表示查询结果,其中 getRecords() 方法返回当前页的记录列表,getTotal() 方法返回满足条件的记录总数。最后将查询结果封装在一个 userList 列表中,并打印出记录总数。