1.分页类
public class PageUtil{
private int count; //总条数
private int pageCount;//总页数
private int startRow;//起始行
private int endRow;//结束行
private int pageSize;//每页显示条数
private int pageNum;//当前页
/**
*
* @param count 总条数
* @param pageNum 当前页
* @param pageSize 每页条数
*/
public PageUtil(int count, int pageNum,int pageSize){
this.count=count;//总条数
this.pageNum=pageNum;//当前页
this.pageSize=pageSize;//每页条数
this.startRow=(this.pageNum-1)* this.pageSize;//起始行 当前也页码显示的数据开始的条数
this.endRow = this.pageNum * this.pageSize;//结束行
this.pageCount = (int) Math.ceil(Double.valueOf(count)/Double.valueOf(pageSize));//总页数
}
public PageUtil() {}
getter();
setter();
2实体类
public class Good extends PageUtil {
private Integer id;
private String name;
getter();
setter();
}
3.SQL
a.先查询出count的值
select count(*) from table;
b.查询出数据封装到List
select table.a,table.b from table limit startRow,pageSize;
4.Controller层的代码
PageUtil page = new PageUtil(count,pageNum,10);//count是查询出的数量,pageNum是前端提供的第几页,10是指展示的数据.
object.setStartRow(page.getStartRow());
object.setPageSize(page.getPageSize());
good.setStartRow(page.getStartRow());
good.setPageSize(page.getPageSize);
List<Good> list = service.getGoodList(good);
return goodListToJson(list,page.getPageNum();page.getPageCount());//转为JSON数据反给前端
5.转换为json的代码
public String goodListToJson(List<Good> list,int pageNum,int pageCount){
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode result = objectMapper.createObjectNode();
//如果要嵌套数组,可以创建ArrayNode对象,然后result.put(arrayNode)
if(list != null && list.size() > 0){
result.put("a",list.get(i).getId());
result.put("b",list.get(i).getName());
}
return result.toString();
}
6.仅为部分代码