如何将已查询出来的100条对象按10条一页的方式封装进PageDTO
时间: 2023-12-06 08:44:50 浏览: 23
可以按照以下步骤来实现:
1. 定义一个PageDTO类,包含以下属性:
```
public class PageDTO<T> {
private int pageNum; // 当前页码
private int pageSize; // 每页显示的条数
private int total; // 总条数
private int totalPages; // 总页数
private List<T> data; // 数据列表
// 省略getter和setter方法
}
```
2. 在查询方法中,使用Mybatis的分页插件PageHelper进行分页查询:
```
PageHelper.startPage(pageNum, pageSize);
List<Object> list = yourMapper.selectSomeObjects();
```
其中,pageNum表示当前页码,pageSize表示每页显示的条数,yourMapper是你自己定义的Mapper接口。
3. 将查询出来的结果封装进PageDTO中:
```
PageDTO<Object> pageDTO = new PageDTO<>();
pageDTO.setPageNum(pageNum);
pageDTO.setPageSize(pageSize);
pageDTO.setTotal((int)new PageInfo<>(list).getTotal());
pageDTO.setTotalPages((int)new PageInfo<>(list).getPages());
pageDTO.setData(list);
```
其中,PageInfo是PageHelper插件提供的一个工具类,可以通过它获取到分页的相关信息。
4. 返回PageDTO对象即可:
```
return pageDTO;
```