pageHelper分页查询

377 阅读1分钟

pageHelper官网:MyBatis 分页插件 PageHelper

1.前端分页布局

这里的page-size的属性可以改为变量,进行动态更换

image.png

2.导入pageHelper依赖

<!--pageHelper的依赖-->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>版本号</version>

</dependency>

3.在 Spring 配置文件中配置拦截器插件

使用 spring 的 XML 配置方式,可以使用 plugins 属性像下面这样配置:

image.png

4.编写java代码

controller层

/**
 *
 * @param currentPage 当前是第几页
 * @param pageSize 一页显示几条数据
 * @return
 */
@RequestMapping("/selectPage")
@ResponseBody//将返回的java对象转换为json字符串
public Request selectPage(@RequestParam(defaultValue = "1") Integer currentPage,
                          @RequestParam(defaultValue = "5") Integer pageSize){

   PageInfo<Student> page =studentServiceImp.findAll(currentPage,pageSize);

    return new Request(200, "查询数据成功", page);
}

service层

public PageInfo<Student> findAll(Integer currentPage, Integer pageSize) {
    /*分页数据给拦截器*/
    PageHelper.startPage(currentPage,pageSize);
    List<Student> all = studentDao.findAll();
    /*将查询的数据封装到PageInfo中,完成分页参数整合*/
    PageInfo<Student> studentPageInfo = new PageInfo<Student>(all);
    return studentPageInfo;
}

5.将原来的查询所有事件改为分页查询事件

image.png

6.完善点击切换页码事件和每页显示条数事件

image.png