做分页处理,一直觉得pagehelper比较好用,以下是分享springboot+pagehelper做的分页处理。
1.导入pagehelper所需的jar
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.3
2.springboot中加入yml
pagehelper:
auto-dialect: mysql
reasonable: true
close-conn: false
3.根据不同的前端框架返回要求格式进行返回数据,创建返回数据的model,我这里是采用的datatables做的数据表格,所以的他的返回数据格式如下:
package com.zkr.cxhjcxt.page;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* Created by youzongxu on 2018/8/29.
*/
@Data
public class PageResult implements Serializable{
private static final long serialVersionUID = 7223334258815093683L;
private Long recordsTotal;
private Long recordsFiltered;
private List> data;
public PageResult (long recordsTotal, long recordsFiltered, List> data){
super();
this.recordsTotal = recordsTotal;
this.recordsFiltered = recordsFiltered;
this.data = data;
}
}
4.controller分页写法
/**
* jira缺陷列表
* @param jiraBugWhere
* @return
*/
@ApiOperation(value = "jira缺陷列表获取")
@GetMapping
public PageResult list(JiraBugWhere jiraBugWhere){
//处理引入pagehelper,标明开始页以及每页所展示的相关条数
PageHelper.startPage(jiraBugWhere.getStart(),jiraBugWhere.getLength());
//根据条件所查询出的数据集合
List lists = jiraBugDao.list(jiraBugWhere);
//pagehelper做分页处理
PageInfo p = new PageInfo<>(lists);
//返回结果集
return new PageResult(p.getTotal(),p.getTotal(),p.getList());
}