/**
* 分页查询结果
* @author:
* @version: 1.0
* @date:
*/
public class PageResult implements Serializable {
private long pageSize = 20; //每页大小
private long pageIndex = 0; //当前页码
private long total = 0; //总记录大小
private Map<String, Object> summary;//聚合函数结果
private List<?> data;//数据
public long getPageSize() {
return pageSize;
}
public void setPageSize(long pageSize) {
this.pageSize = pageSize;
}
public long getPageIndex() {
return pageIndex;
}
public void setPageIndex(long pageIndex) {
this.pageIndex = pageIndex;
}
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public Map<String, Object> getSummary() {
return summary;
}
public void setSummary(Map<String, Object> summary) {
this.summary = summary;
}
public List<?> getData() {
return data;
}
public void setData(List<?> data) {
this.data = data;
}
/**
* 获取总页数
* @return
*/
public long getPageCount() {
if(pageSize<1) {
return 1L;
}
if (total % pageSize == 0) {
return total / pageSize;
} else {
return (total / pageSize) + 1;
}
}
/**
* 获取当前数据集大小
* @return
*/
public int getSize() {
if(data!=null) {
return data.size();
}
return 0;
}
}
/**
* 分页查询参数
* @author:
* @version: 1.0
* @date:
*/
public class PageParam implements ValueObject{
private static final long serialVersionUID = 1L;
private long pageSize = 20; //每页大小
private long pageIndex = 0; //当前页码
private long total = 0; //总记录大小
private String sortField; //排序字段
private String sortOrder; //排序方向
private String aggregate;//聚合字段
private String order; //排序SQL
public long getPageSize() {
return pageSize;
}
public void setPageSize(long pageSize) {
this.pageSize = pageSize;
}
public long getPageIndex() {
return pageIndex;
}
public void setPageIndex(long pageIndex) {
this.pageIndex = pageIndex;
}
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public String getSortField() {
return sortField;
}
public void setSortField(String sortField) {
this.sortField = sortField;
}
public String getSortOrder() {
return sortOrder;
}
public void setSortOrder(String sortOrder) {
this.sortOrder = sortOrder;
}
public String getAggregate() {
return aggregate;
}
public void setAggregate(String aggregate) {
this.aggregate = aggregate;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
}
例如:
public PageResult queryuser(PageParam pageParam,User user){
StringBuffer sql = new StringBuffer();
List<Object> params = new ArrayList<>();
sql.append("select * from tb_user t where ");
sql.append(" t.name = ? and t.age = ? ");
params.add(user.getName);
params.add(user.getAge);
return DBUtils.query(pageParam, sql.toString(), params.toArray());
}
```
注:DBUtils工具类,请查看下篇文章