若依框架 分页问题

问题

今天晚上在使用若依框架,发现查询用户的时候明明有十几条数据,且只告诉我total只有10条。

分析了一下controller层,发现我重写了它的方法。

原原本本的写法

他从service查询列表出来得到一个List。他查询出来的是total是没问题的,刚好符合。

而我 用了一个Volist,同时用 new ArrayList 初始化。

Debug种可以发现

 list的类型是Page (com.github.pagehelper)

而我Volist的类型是ArrayList。

那么肯定有问题嘛。

我们再仔细看下面这个方法

 return getDataTable(voList);

他是从中获取到total,然后设置给统一返回类的。

因为我们没有这个参数。所以他走了下面这个方法

他去判断了一下类型,不是page类型,直接返回list的size方法。也就是10条嘛。 

 

解决方法

 List<WxExpertUserVo> voList = new ArrayList<>();

换成

        Page<WxExpertUser> list = (Page<WxExpertUser>) wxExpertUserService.selectWxExpertUserList(wxExpertUser); 
        Page<WxExpertUserVo> voList = new Page<>();
        voList.setTotal(list.getTotal());

需要要获取到的List强转为Page类型。如何从中获取到total。


版权声明:本文为qq_40942359原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。