package com.dy.common.webUtil; import com.alibaba.fastjson2.annotation.JSONField; import lombok.*; import java.util.Map; @Data @ToString public class QueryResultVo { /** * 每页显示的记录数 */ public Integer pageSize ; /** * 记录总数 */ public Long itemTotal ; /** * 当前页 */ public Integer pageCurr ; /** * 总页数 */ public Integer pageTotal ; /** * 数据 */ public T obj; /** * 查询开始记录 */ @JSONField(serialize = false) public Integer queryStart ; /** * 查询数量 */ @JSONField(serialize = false) public Integer queryCount ; public QueryResultVo(Integer pageSize, Integer pageCurr){ this.pageSize = pageSize ; this.pageCurr = pageCurr ; } /** * 进行计算 * @param itemTotal * @param params */ public void calculateAndSet(Long itemTotal, Map params) { this.itemTotal = itemTotal ; if(this.itemTotal == null){ this.itemTotal = 0L ; } if(this.itemTotal == 0){ this.pageSize = 1 ; } if(this.pageSize == null || this.pageSize <= 0){ /** * 朱宝民 2024-01-30 修改 * 未传入分页参数时,取全部记录 */ //this.pageSize = 1 ;//供下面作为除数 this.pageSize = 10000 ;//供下面作为除数 } pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); if (pageTotal == 0) { pageTotal = 1; } if (pageCurr == null || pageCurr < 1) { pageCurr = 1; } if (pageCurr > pageTotal) { pageCurr = pageTotal; } //select * from table_name limit 5 ,10;//从第6行开始,检索10行记录,即:检索记录行 6-15 this.queryStart = (this.pageCurr - 1) * this.pageSize ; this.queryCount = this.pageSize ; params.put("start", this.queryStart) ; params.put("count", this.queryCount) ; } }