微信小程序--后端管理平台业务5--Mybatis分页PageHelper插件

来源:互联网 发布:自适应控制算法 编辑:程序博客网 时间:2024/05/23 01:15

使用的是分页插件PageHelper

参考文档:http://blog.csdn.net/woniu211111/article/details/54562307

http://www.cnblogs.com/ganchuanpu/archive/2016/12/09/6147911.html

在springboot上搭建的。

过程比较简单:

1.引入依赖:

<!-- springboot版本的pagehelper --><!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.1.1</version></dependency>

我没有在yml文件中做任何配置。

然后直接使用测试类。


@Test    public void pageTest() {    Integer pageNum = 1;    Integer pageSize = 2;    PageHelper.startPage(pageNum,pageSize);    List<CourseEntity>courses = courseMapper.selectAll();    PageInfo pageInfo = new PageInfo(courses);    Page<CourseEntity>list =(Page<CourseEntity>)courses;    System.out.println(list);    System.out.println(pageInfo);    System.out.println(list.getResult());    }
就是直接将已经写好的course的查询所有课程的方法(返回的是List<courseEntity>,就是正常的dao层方法查询)拿过来包装成page。

控制台打印的时候 不会打印出里面包含的list信息。

打印的信息如下:

Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=2, pages=1, reasonable=false, pageSizeZero=false}
PageInfo{pageNum=1, pageSize=2, size=2, startRow=1, endRow=2, total=2, pages=1, list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=2, pages=1, reasonable=false, pageSizeZero=false}, prePage=0, nextPage=0, isFirstPage=true, isLastPage=true, hasPreviousPage=false, hasNextPage=false, navigatePages=8, navigateFirstPage1, navigateLastPage1, navigatepageNums=[1]}
Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=2, pages=1, reasonable=false, pageSizeZero=false}

不过,如果用Json返回,相同的内容显示就含有了包含list中的信息了,用的Controller返回的信息。

@Controllerpublic class BackCourseController {@Autowired CourseMapper courseMapper;@GetMapping("/course/page")@ResponseBodypublic PageInfo getPageCourseInfo() {Integer pageNum = 1;    Integer pageSize = 2;    PageHelper.startPage(pageNum,pageSize);    List<CourseEntity>courses = courseMapper.selectAll();    PageInfo pageInfo = new PageInfo(courses);    Page<CourseEntity>list =(Page<CourseEntity>)courses;    System.out.println(list);    System.out.println(pageInfo);    System.out.println(list.getResult());    return pageInfo;}


将这些信息通过json在线解析(网址:http://www.bejson.com/),的确是json数据:

{    "pageNum": 1,    "pageSize": 2,    "size": 2,    "startRow": 1,    "endRow": 2,    "total": 2,    "pages": 1,    "list": [        {            "id": 1,            "times": 2,            "depName": "计算机科学与软件工程学院",            "depMajor": "嵌入式系统",            "courseName": "软件理论",            "priority": 1,            "teacher": "陈怡香",            "student": 30,            "start": 2016,            "end": 2017,            "status": 0,            "place": "数学馆103",            "time": null        },        {            "id": 2,            "times": 2,            "depName": "计算机科学与软件工程学院",            "depMajor": "嵌入式系统",            "courseName": "并行软件设计",            "priority": 1,            "teacher": "谷守珍",            "student": 28,            "start": 2017,            "end": 2018,            "status": 1,            "place": "数学馆103",            "time": null        }    ],    "prePage": 0,    "nextPage": 0,    "isFirstPage": true,    "isLastPage": true,    "hasPreviousPage": false,    "hasNextPage": false,    "navigatePages": 8,    "navigatepageNums": [        1    ],    "navigateFirstPage": 1,    "navigateLastPage": 1,    "lastPage": 1,    "firstPage": 1}

如果返回的不是PageInfo,而是Page:

@Controllerpublic class BackCourseController {@Autowired CourseMapper courseMapper;@GetMapping(value="/course")public String course() {return "table-course";}@GetMapping("/course/page")@ResponseBodypublic Page getPageCourseInfo() {Integer pageNum = 1;    Integer pageSize = 2;    PageHelper.startPage(pageNum,pageSize);    List<CourseEntity>courses = courseMapper.selectAll();    PageInfo pageInfo = new PageInfo(courses);    Page<CourseEntity>list =(Page<CourseEntity>)courses;    System.out.println(list);    System.out.println(pageInfo);    System.out.println(list.getResult());    //return pageInfo;    return list;}}

发现只有course集合的信息了,没有pageInfo相关的信息了。

[    {        "id": 1,        "times": 2,        "depName": "计算机科学与软件工程学院",        "depMajor": "嵌入式系统",        "courseName": "软件理论",        "priority": 1,        "teacher": "陈怡香",        "student": 30,        "start": 2016,        "end": 2017,        "status": 0,        "place": "数学馆103",        "time": null    },    {        "id": 2,        "times": 2,        "depName": "计算机科学与软件工程学院",        "depMajor": "嵌入式系统",        "courseName": "并行软件设计",        "priority": 1,        "teacher": "谷守珍",        "student": 28,        "start": 2017,        "end": 2018,        "status": 1,        "place": "数学馆103",        "time": null    }]


也就是Page只含有里面的数据信息,而PageInfo除了有Page含有的信息,还有各种上一页,最后也,总页数,这些相关信息。

根据需要返回不同的结果



原创粉丝点击