分享一个java分页工具类
一位java小白的笔记!!!!
本实例也适用于web项目简单的翻页!
在项目中使用到了分页功能,记录下,以便以后使用。
直接上代码:
public class PageableTool implements Serializable{
//此处可自动
private static final long serialVersionUID=7247714666L;
//分页的页码数
private int page = 0;
//每行显示的格式,默认为10,自定义
private int size = 10;
//排序使用,即在数据库中的属性(也可不使用)
private String orderName = "createTime";
//也可不使用
private String orderSort = "DESC";
private Sort sort;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
public String getOrderSort() {
return orderSort;
}
public void setOrderSort(String orderSort) {
this.orderSort = orderSort;
}
//自定义getSort
public Sort getSort() {
String[] properties = orderName.split(",");
if(orderSort.toUpperCase().equals("DESC")){
return new Sort(Sort.Direction.DESC,properties);
}else if(orderSort.toUpperCase().equals("ASC")){
return new Sort(Sort.Direction.ASC,properties);
}
return sort;
}
public void setSort(Sort sort) {
this.sort = sort;
}
}
加入到控制器中使用,代码如下:
其中最主要的是分页处理部分,把查出来的数据进行分页。
public Output list(PageableTool pageInput){
Output out = new Output();
//查询isDeleted为零,就显示
List<PaasImage> imageList = paasImageService.findByIsDeleted();
//分页处理
Pageable pageRequest = PageRequest.of(pageInput.getPage(), pageInput.getSize());
PagedListHolder<PaasImage> pageListHolder = new PagedListHolder<>(imageList);
pageListHolder.setPage(pageInput.getPage());
pageListHolder.setPageSize(pageInput.getSize());
Page<PaasImage> page = new PageImpl<>(pageListHolder.getPageList(), pageRequest, imageList == null ? 0 : imageList.size());
out.setPayload(page);
out.setMessage("查询成功");
return out;
}
到此已经结束!希望能给大家帮助。