我是靠谱客的博主 独特泥猴桃,最近开发中收集的这篇文章主要介绍mybatisPlus 将已有集合进行分页(非plus自带方法),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最想有一个比较烦的需求,想破脑袋还没有想出来~~~~根据同一搜索字段,不同条件搜索的集合进行合并并分页。

看了相关api,想了一个折中的方法

正常情况框架使用mybatisplus分页会使用IPage,但是IPage获取的集合无法合并!

已知两个集合:

 List<EvalitemReformVO> evalItemList = new ArrayList<>();
List<EvalitemReformVO> evalItemList1 = new ArrayList<>();

这两个号集合是从根据同一字段搜素的不同的list集合,用同一对象接收的(用不同对象接收,分页功能失效了~~~)

将以上两个集合进行合并,在进行分型即可实现正常分页。

result.add(list);
List<EvalitemReformVO> list1 = new ArrayList();
list1.addAll(evalItemList);
list1.addAll(evalItemList1);

然后将集合塞入下面工具类即可

public static <T> IPage<T> listToPage(List<T> list, Integer current, Integer size){
IPage<T> iPage = new Page<>(current,size);
iPage.setTotal(list.size());
int startIndex = (int)((current - 1)*size);
if(null == list || list.isEmpty() || startIndex > list.size()){
iPage.setRecords(null);
}
else {
int toIndex = (int)(current*size);
iPage.setRecords(list.subList(startIndex,toIndex > list.size() ? list.size() : toIndex));
}
return iPage;
}

以上,可实现合并搜索不同集合进行分页,也避开了IPage不能对该集合进行分页的烦恼。

最后

以上就是独特泥猴桃为你收集整理的mybatisPlus 将已有集合进行分页(非plus自带方法)的全部内容,希望文章能够帮你解决mybatisPlus 将已有集合进行分页(非plus自带方法)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部