关于pageHelper无法查到总数踩到的坑
问题代码
PageHelper.startPage(pageNum,pageSize);
List<pojoVo> pojoVo=robotService.getPageList();
PageInfo pageResult = new PageInfo(pojoVo);
结果
pageResult.getTotal(); //结果为当前页数量或者没有
pageResult.getPage(); //结果为1
经过微信小伙伴ken提示;发现是VO拼接姿势不对
pageHelper是多线程操作,通过new PageInfo()查询出总条数和总页数;当为new PageInfo(pojoVo)时,是按照pojoVo去查询,所以无法查pojo到数据库中数据的总数的;需要先查出pojoList,然后拼接到Vo里面,在set到pageInfo中
修改后的代码如下
public CommonReturnType getList(Model model,@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
@RequestParam(value = "pageSize",defaultValue = "5")Integer pageSize){
PageHelper.startPage(pageNum,pageSize);
List<Pojo> pojoList=pojoService.getPageList();
PageInfo pageResult = new PageInfo(pojoList);
List<PojoVo> voList=new ArrayList<>();
for(Pojo item:pojoList){
PojoVo pojoVo=assembleRobotListVo(item);
voList.add(pojoVo);
}
//这一步记得添加
pageResult.setList(voList);
System.out.println(pageResult.getTotal()); //此处已经查询出总条数
System.out.println(pageResult.getPages());
System.out.println(pageResult.getSize());
return CommonReturnType.success(pageResult );
}
//拼接vo
private PojoVo assembleRobotListVo(Pojo pojo){
PojoVo pojoVo=new PojoVo ();
pojoVo.setId(pojo.getId());
pojoVo.setMac(pojo.getMac());
pojoVo.setName(pojo.getName());
return pojoVo;
}
```
备注: pojo为实体类 pojoVo为拼接的Vo显示字段
关于pageHelper无法查到总数踩到的坑的更多相关文章
- 项目中踩过的坑之-sessionStorage
总想写点什么,却不知道从何写起,那就从项目中踩过的坑开始吧,希望能给可能碰到相同问题的小伙伴一点帮助. 项目情景: 有一个id,要求通过当前网页打开一个新页面(不是当前页面),并把id传给打开的新页面 ...
- "开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"
欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...
- vue项目开发中踩过的坑
一.路由 这两天移动端的同事在研究vue,跟我说看着我的项目做的,子路由访问的时候是空白的,我第一反应是,不会模块没加载进来吧,还是....此处省略一千字... 废话不多说上代码 路由代码 { pat ...
- Selenium与PhantomJS踩过的坑
Selenium与PhantomJS踩过的坑 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动化操作, ...
- web开发实战--弹出式富文本编辑器的实现思路和踩过的坑
前言: 和弟弟合作, 一起整了个智慧屋的小web站点, 里面包含了很多经典的智力和推理题. 其实该站点从技术层面来分析的话, 也算一个信息发布站点. 因此在该网站的后台运营中, 富文本的编辑器显得尤为 ...
- 【转载】Fragment 全解析(1):那些年踩过的坑
http://www.jianshu.com/p/d9143a92ad94 Fragment系列文章:1.Fragment全解析系列(一):那些年踩过的坑2.Fragment全解析系列(二):正确的使 ...
- Redis Cluster踩过的坑
Redis Cluster踩过的坑请参考如下链接:http://www.iteye.com/blogs/subjects/Redis_Cluster_Devops
- 第八篇:web之前端踩的一些坑
前端踩的一些坑 前端踩的一些坑 本节内容 事件代理 清除标签的所有事件 bootstrap的模态框自定义方法 ajax在django里面实现post提交 ajax提交数据嵌套 1.事件代理 之前写 ...
- 使用ffmpeg视频编码过程中踩的一个坑
今天说说使用ffmpeg在写视频编码程序中踩的一个坑,这个坑让我花了好多时间,回头想想,非常多时候一旦思维定势真的挺难突破的.以下是不对的编码结果: ...
随机推荐
- Pytest执行用例报Hint: make sure your test modules/packages have valid Python names.
近日,使用Pytest+Appium 实现APP端UI自动化,遇到Pytest收集用例失败的情况. 报错信息如下: test_room.py:None (test_room.py) ImportErr ...
- In-App Purchase(iap)快速指南
点击IOS IAP APP内支付 Java服务端代码直接跳转到示例点击直接跳转到示例 iap简介 在应用中内嵌Store,在iOS应用中使用Store Kit framework来实现In-A ...
- MySQL提供的几种检索行数据的优化方式
ICP(Index Condition Pushdown): 在MySQL5.6之前,存储引擎会通过遍历索引定位基表中 的行,然后返回给Server层,再去为这些数据进行WHERE后的条件过滤.MyS ...
- flask使用tablib导出excel数据表
在网页中常常有导出数据的需求,尤其是一下管理类平台.在flask中要导出excel数据表,通常可以使用xlwt库,创建文件并逐行写入数据,但是使用起来总是感觉很麻烦.tablib库相对操作更加方便. ...
- Yii2 基于header 实现接口版本控制
Yii2 官方给出的方案是基于url的版本控制,但是我们的versoin放在header里面,需要通过header来进行版本控制,实现如下: 首先在基类中实现actions,actions是针对con ...
- SAS学习笔记5 字符截取语句(index、compress、substr、scan函数)
index:返回一个字符串中,某个特定字符或字符串的位置,找不到时返回0 compress:从一个字符串移除特定的字符 substr函数 字符替换与提取字符 substr(s, p, n)从变量s的第 ...
- [二叉树算法]让树所有叶子节点连成一个单链表,让rchild作为 next指针
//让树所有叶子节点连成一个单链表,让rchild作为 next指针 LNode *head=null,*pre=null;//全局变量 LNode *InOrder(BTNode *T){ if(T ...
- java——多态例题
class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { re ...
- Codeforces 1249 D2. Too Many Segments (hard version)
传送门 贪心 对于第一个不合法的位置,我们显然要通过删除几个覆盖了它的区间来使这个位置合法 显然删右端点更靠右的区间是更优的,所以就考虑优先删右端点靠右的,然后再考虑下一个不合法位置 用一个 $set ...
- LinearSearch Java
Java LinearSearch /** * <html> * <body> * <P> Copyright 1994-2018 JasonInternation ...