lambdaquerychainwrapper 分页
时间: 2023-05-26 20:07:16 浏览: 282
LambdaQueryChainWrapper 的分页方法可以使用 `page` 和 `paginate` 两种方式进行分页。
1. 使用 `page` 方法分页
使用 `page` 方法分页,需要传入两个参数:当前页码和每页显示的数量,例如:
```java
Page<Customer> page = new LambdaQueryChainWrapper<>(customerMapper)
.eq(Customer::getAge, 28)
.like(Customer::getEmail, "test")
.orderByDesc(Customer::getId)
.page(new Page<>(1, 10));
```
其中,`new Page<>(1, 10)` 表示当前页码为 1,每页显示的数量为 10。
2. 使用 `paginate` 方法分页
使用 `paginate` 方法分页,也需要传入两个参数:当前页码和每页显示的数量,例如:
```java
IPage<Customer> page = new LambdaQueryChainWrapper<>(customerMapper)
.eq(Customer::getAge, 28)
.like(Customer::getEmail, "test")
.orderByDesc(Customer::getId)
.paginate(1, 10);
```
其中,`paginate(1, 10)` 表示当前页码为 1,每页显示的数量为 10。需要注意的是,这里返回的是 `IPage<Customer>` 接口类型,需要根据实际情况进行类型转换。
无论是使用 `page` 方法还是使用 `paginate` 方法,都可以直接调用 PageInfo 的 get 方法获取分页信息,例如:
```java
System.out.println("当前页码:" + page.getCurrent());
System.out.println("每页显示数量:" + page.getSize());
System.out.println("总记录数:" + page.getTotal());
System.out.println("总页数:" + page.getPages());
```
此外,`page` 方法和 `paginate` 方法还支持链式调用,可以在其后面继续添加查询条件,例如:
```java
Page<Customer> page = new LambdaQueryChainWrapper<>(customerMapper)
.eq(Customer::getAge, 28)
.like(Customer::getEmail, "test")
.orderByDesc(Customer::getId)
.page(new Page<>(1, 10))
.eq(Customer::getStatus, 1);
```
这样就可以在分页查询的基础上再加上一个 status 等于 1 的查询条件。
阅读全文