重点1:PageInfo的输出结果

1、PageInfo的源代码private int pageNum;private int pageSize;private int size;//其中最后这个list存放的信息就是使用第三个构造方法,所传进去的List,通常是在数据库中查询到的结果,即是查询出来的book的信息//List<Book> bookList = bookService.findBookBybName(bName);
//使用pageInfo包装查询后的结果,封装了详细的查询数据,其中参数5是页码导航连续显示的页数
//PageInfo pageInfo = new PageInfo(bookList,5);private List<T> list;//构造方法
public PageInfo() {}
public PageInfo(List<T> list) {this(list, 8);}
public PageInfo(List<T> list, int navigatePages) {·····}//其中的方法public List<T> getList() {return list;}public void setList(List<T> list) {this.list = list;}

重点2:具体的使用

            //使用分页插件//传入查询的页码,以及显示的条数PageHelper.startPage(pn, 10);List<Book> bookList = bookService.findBookByCategory(cId);//使用pageInfo包装查询后的结果,封装了详细的查询数据,其中参数5是页码导航连续显示的页数PageInfo pageInfo = new PageInfo(bookList,5);//使用model进行返回//model.addAttribute("pageInfo", page);//对于ajax返回json数据,可以使用一个Msg类,方便浏览器更方便解析return Msg.success().add("pageInfo", pageInfo);

可以直接返回pageInfo,可以得到如下的信息:

{“pageNum”:1,”pageSize”:10,”size”:10,”startRow”:1,”endRow”:10,”total”:64,”pages”:7,”list”:[{“bId”:2,”bName”:”java学习”,”price”:20.0,”author”:”jj”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:12,”bName”:”dang_9_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:18,”bName”:”dang_15_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:21,”bName”:”dang_18_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:24,”bName”:”dang_21_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:27,”bName”:”dang_24_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:30,”bName”:”dang_27_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:33,”bName”:”dang_30_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:36,”bName”:”dang_33_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:39,”bName”:”dang_36_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}}],”prePage”:0,”nextPage”:2,”isFirstPage”:true,”isLastPage”:false,”hasPreviousPage”:false,”hasNextPage”:true,”navigatePages”:5,”navigatepageNums”:[1,2,3,4,5],”navigateFirstPage”:1,”navigateLastPage”:5,”lastPage”:5,”firstPage”:1}

在此可以看出,list中存放的信息时在使用的第三个构造方法所传递的所查询的book的信息

在前端页面进行获取的时候
var emps = result.extend.pageInfo.list;
**这里使用的是.list,因为PageInfo这个类中有private List<T> list这个属性,所以尽管你存的时候写的bookList,在前端获取的时候也是.list,其得到查询结果bookList的全部信息**
通过源码可以看出来,在PageInfo这个类中,包含3个构造方法,
1.无参
public PageInfo() {}
2.一个参数
public PageInfo(List<T> list) {this(list, 8);}
3.两个参数,这里第一个参数就是传递的List<Employee> emps结果集,内部会进行自动的包装public PageInfo(List<T> list, int navigatePages) {....}

重点3:Msg(这个适合分页插件无关的,主要是对于cotroller返回数据,进行包装,更方便浏览器解析)

public class Msg {//表示状态码private int code;//提示信息private String msg;//要返回给浏览器的数据private Map<String,Object> extend = new HashMap<String,Object>();//在controller中调用success方法,返回Msg对象public static Msg success(){Msg result = new Msg();result.setCode(100);result.setMsg("处理成功!");return result;}public static Msg fail(){Msg result = new Msg();result.setCode(200);result.setMsg("处理失败");return result;}//把pageInfo中的数据保存到Msg中,一并返回public Msg add(String key,Object value){this.getExtend().put(key, value);return this;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Map<String, Object> getExtend() {return extend;}public void setExtend(Map<String, Object> extend) {this.extend = extend;}
}

在Msg中的extend里放了pageInfo的信息,这里extend是Map类型,是因为不需要遍历即可获取信息,而是通过键来获取。

{“code”:100,”msg”:”处理成功!”,”extend”:{“pageInfo”:{“pageNum”:1,”pageSize”:10,”size”:10,”startRow”:1,”endRow”:10,”total”:64,”pages”:7,”list”:[{“bId”:2,”bName”:”java学习”,”price”:20.0,”author”:”jj”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:12,”bName”:”dang_9_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:18,”bName”:”dang_15_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:21,”bName”:”dang_18_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:24,”bName”:”dang_21_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:27,”bName”:”dang_24_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:30,”bName”:”dang_27_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:33,”bName”:”dang_30_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:36,”bName”:”dang_33_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}},{“bId”:39,”bName”:”dang_36_书1”,”price”:20.1,”author”:”saka1”,”cId”:1,”category”:{“cId”:1,”cName”:”学习用书”}}],”prePage”:0,”nextPage”:2,”isFirstPage”:true,”isLastPage”:false,”hasPreviousPage”:false,”hasNextPage”:true,”navigatePages”:5,”navigatepageNums”:[1,2,3,4,5],”navigateFirstPage”:1,”navigateLastPage”:5,”lastPage”:5,”firstPage”:1}}}

分页插件中关于PageInfo相关推荐

  1. 【转载】分页插件中关于PageInfo

    转自:https://blog.csdn.net/ilikejj0/article/details/81110009 1.PageInfo的源代码 private int pageNum;privat ...

  2. Mybatis 分页插件 Pagehelper 的 PageInfo 字段属性解释

    示例,使用了分页插件返回的结果数据: {"pageNum":1,"pageSize":50,"size":1,"startRow& ...

  3. PageHelper分页插件上的PageInfo使用

    依赖包 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelp ...

  4. 附加:PageHelper分页插件的:Page和PageInfo的区别;

    说明: (1)为什么写本篇博客?: ● 在[Spring Boot电商项目29:商品分类模块八:后台的[分类列表(平铺)]接口:]中,实现分页功能时,使用到了PageHelper分页插件: ● 但是, ...

  5. java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...

    总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...

  6. [置顶]mybatis分页插件实现分页...

    1.了解过程:在数据库服务器中,sql语句实现分页便要每个查询语句都要写上limit(开始,结束),并且不能灵活的随前端变化,为此使用拦截器的方法,过程:拦截器拦截请求的sql语句(根据需要拦截的ID ...

  7. Mybatis分页插件更新

    分页插件演示:http://blog.csdn.net/isea533/article/details/23831273 分页插件演示样例:http://blog.csdn.net/isea533/a ...

  8. mybatis 分页需要的jar包下载_牛逼哄哄的PageHelper分页插件到底牛在哪里?

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 urlify.cn/z2IFn2 推荐:https://www.xttblog. ...

  9. PageHelper分页插件的原理是什么

    PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美. 原本以为分页插件, ...

最新文章

  1. mysql persistent_MySQL关于InnoDB的几个错误
  2. 漫画:什么是 “建造者模式” ?
  3. 打开PDF文件弹出阅读未加标签文档的解决方法
  4. maven 报错解决
  5. linux下的二进制文件的编辑和查看 -
  6. 开发一个出生年份的下拉选择框供用户选择_你的下拉式菜单设计对了吗?
  7. 天梯赛 L2-005 集合相似度 (set容器)
  8. div+css使多行文字垂直居中?
  9. 课程目标IO java
  10. SGU 231 Prime Sum 求lt;=n内有多少对素数(a,b)使得a+b也为素数 规律题
  11. dbfs和dbm的换算_dB 、dBm、dBuv的概念及换算
  12. 想定制Android系统实现改机?看完我也会了
  13. 天猫整站(简易版)SSM(十四)需要登录才能使用的功能
  14. Baby Sign Language
  15. 【Linux】【开发环境】【RHEL】开发环境搭建系列之十一——Linux系统下搭建基于vim的C/C++ IDE开发环境
  16. java事务类型_Spring事务类型祥解
  17. OCP学习基本知识点总结
  18. Android面试、笔试、期中/末考试复习提纲总结
  19. 程序猿和攻城狮(南大)
  20. 计算机课程期末总结1000字,学期末总结1000字

热门文章

  1. spark视频-第二期:Shark、SparkSQL
  2. upc 个人训练赛第二场:高精度计算
  3. 2020年中国知识产权服务从业人员数、营业收入及发展前景分析[图]
  4. 在区块链底下,个人自由和隐私该如何生存?
  5. tinymce粘贴word图片问题解决
  6. 一个C语言算法--税收计算
  7. [CF505E]Mr. Kitayuta vs. Bamboos/[海军国际项目办公室]迷途竹林
  8. 关于USIM卡的全面测试综述
  9. Android 6.0系统读写文件问题( Permission denied)
  10. 60.大数据之旅——电信日志项目03