如何把list返回为Ipage<List<object>>
时间: 2023-12-07 18:05:02 浏览: 112
如果我们有一个List<Object>类型的数据列表,但是需要将其转换为IPage<List<Object>>类型的结果集,我们可以使用以下代码实现:
```java
List<Object> list = getDataList(); // 获取List<Object>类型的数据列表
int pageSize = 10; // 每页显示的记录数
int currentPage = 1; // 当前页数
// 计算总记录数和总页数
int total = list.size();
int totalPage = (total + pageSize - 1) / pageSize;
// 计算当前页的起始位置和结束位置
int startIndex = (currentPage - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, total);
// 截取当前页的数据
List<Object> pageList = list.subList(startIndex, endIndex);
// 构造IPage对象
IPage<List<Object>> iPage = new PageImpl<>(Arrays.asList(pageList), PageRequest.of(currentPage - 1, pageSize), totalPage);
```
在以上代码中,我们首先获取到原始的List<Object>类型的数据列表,然后使用subList()方法获取到当前页的数据,接着构造PageImpl对象,将当前页的数据作为IPage的内容,使用PageRequest对象设置当前页数和每页显示的记录数,使用totalPage设置总共的页数,并将结果赋给iPage对象。最终我们就可以将List<Object>类型的数据列表转换为IPage<List<Object>>类型的结果集了。
阅读全文