问题
今天晚上在使用若依框架,发现查询用户的时候明明有十几条数据,且只告诉我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版权协议,转载请附上原文出处链接和本声明。