1.通过for实现手动分页
double pageTotal = 1;
Integer pageSize = 500;
//目标Id集合
List<String> list = new ArrayList<String>();
//入参长度限制,分页查询
List<DemoDto> demoDtos = new ArrayList<>();
if(!TasOptUtil.isCollectionEmpty(list))
{
//当前页集合
List<String> currentPageList = new ArrayList<>();
pageTotal = Math.ceil((double)list.size() / pageSize);
if(pageTotal > 1) {
for (int pageNo = 1; pageNo <= pageTotal; pageNo++) {
//进行分页
int currIdx = (pageNo > 1 ? (pageNo - 1) * pageSize : 0);
for (int i = 0; i < pageSize && i < list.size() - currIdx; i++) {
String data = list.get(currIdx + i);
currentPageList.add(data);
}
}
//对当前页集合处理currentPageList
currentPageList.clear();
}
else
{
//直接处理目标集合
}
}