列表分页返回对象
仅针对于新项目,因为一般进入公司后项目都是已经搭建好的,只需要在原有框架基础上操作就可以了,但是遇到从0开始的项目并且还没有架构需要自己搭框架的时候就需要自己想办法找各种封装格式。
下面记录分页列表返回的封装格式,废话不多说,直接上代码:
import java.io.Serializable;
import java.util.List;
/**
* 分页数据对象
*/
public class PageResult implements Serializable{
private static final long serialVersionUID = 1L;
/** 总记录数 */
private long total;
/** 列表数据 */
private List<?> rows;
/** 当前页 */
private int pageNum;
/** 每页的数量 */
private int pageSize;
/**
* 表格数据对象
*/
public PageResult()
{
}
/**
* 分页
*
* @param list 列表数据
* @param total 总记录数
* @param pageNum 当前页
* @param pageSize 每页的数量
*/
public PageResult(List<?> list, long total, int pageNum, int pageSize)
{
this.rows = list;
this.total = total;
this.pageNum = pageNum;
this.pageSize = pageSize;
}
public long getTotal()
{
return total;
}
public void setTotal(long total)
{
this.total = total;
}
public List<?> getRows()
{
return rows;
}
public void setRows(List<?> rows)
{
this.rows = rows;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
}
具体使用:
@PostMapping("/page")
@ApiOperation(value = "接口的表述")
public SwaggerAjaxResult<PageResult> page(@RequestBody StockGrainJjslDTO resParam){
return SwaggerAjaxResult.success(stockGrainJjslService.page(resParam));
}
@Override
public PageResult historyList(StockGrainJjslDTO resParam) {
resParam.setIsTrue(Boolean.TRUE.toString());
Map<String, Company> qyMap = stockGrainService.getQyMap();
Map<String, StockStorehouse> kdMap = stockGrainService.getKdMap();
PageHelper.startPage(resParam.getPageNum(), resParam.getPageSize());
List<StockGrainJjslVO> list = jjslHistoryService.selectList(resParam);
PageInfo<StockGrainJjslVO> info = new PageInfo<>(list);
if (list.isEmpty()) {
return new PageResult(Collections.emptyList(), info.getTotal(), info.getPageNum(), info.getPageSize());
}
list.forEach(tmp -> {
tmp.setQyjc(Objects.nonNull(qyMap.get(tmp.getQytyshxydm())) ? qyMap.get(tmp.getQytyshxydm()).getQyjc() : null);
tmp.setKdjc(Objects.nonNull(kdMap.get(tmp.getKddm())) ? kdMap.get(tmp.getKddm()).getKdjc() : null);
});
return new PageResult(list, info.getTotal(), info.getPageNum(), info.getPageSize());
}
个人学习笔记仅供参考。