这里我们需要根据自己的实际需要重写一下HashMap的一些方法,这样可以更好的适应你的项目需求
封装完成后,我们查询是只要传一个pageObject对象到后台,后台数据封装回PageObject对象就行了,这样我们可以少写很多代码
public class PagerObject<T> {
private int page = 1; // 页码 从1开始
private int size = 10; // 分页大小 默认10
private List<T> rows = new ArrayList<T>(); // 分页数据
private ZMap params = new ZMap();// 查询参数,这个是基于HashMap的进一步封装
private int total;// 符合查询条件的总条目数
private int pageSize;//总页数
public PagerObject() {
}
public PagerObject(HttpServletRequest request) {
//这里需要注意的是封装一个map,用来保存查询参数
ZMap params = new ZMap(request);
this.page = params.getInt("page", 1); //获取页码
this.size = params.getInt("rows", 10); //获取分页大小
this.pageSize=params.getString("pageSize");//获取总页数
generatePaginationParam();
Iterator iter = params.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
//System.out.println(key);
Object val = params.get(key);
if(val.toString().trim().equals("")){
params.put(key, null);
}
}
this.params = params;
}
//这个方法用于后台查询
public void generatePaginationParam() {
params.put("start", (page - 1) * size);
params.put("size", size);
params.put("sort", sort);
params.put("order", order);
if(null!=params.getString("isPagination")&¶ms.getString("isPagination").equals("false")){
params.put("isPagination", false);
}
else
params.put("isPagination", true);
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
@Override
public String toString() {
return JSON.toJSONString(this); // 直接转为json输出
}
public IMap getParams() {
return params;
}
public void setParams(IMap params) {
this.params = params;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
}
封装完成后,我们查询是只要传一个pageObject对象到后台,后台数据封装回PageObject对象就行了,这样我们可以少写很多代码
public class PagerObject<T> {
private int page = 1; // 页码 从1开始
private int size = 10; // 分页大小 默认10
private List<T> rows = new ArrayList<T>(); // 分页数据
private ZMap params = new ZMap();// 查询参数,这个是基于HashMap的进一步封装
private int total;// 符合查询条件的总条目数
private int pageSize;//总页数
public PagerObject() {
}
public PagerObject(HttpServletRequest request) {
//这里需要注意的是封装一个map,用来保存查询参数
ZMap params = new ZMap(request);
this.page = params.getInt("page", 1); //获取页码
this.size = params.getInt("rows", 10); //获取分页大小
this.pageSize=params.getString("pageSize");//获取总页数
generatePaginationParam();
Iterator iter = params.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
//System.out.println(key);
Object val = params.get(key);
if(val.toString().trim().equals("")){
params.put(key, null);
}
}
this.params = params;
}
//这个方法用于后台查询
public void generatePaginationParam() {
params.put("start", (page - 1) * size);
params.put("size", size);
params.put("sort", sort);
params.put("order", order);
if(null!=params.getString("isPagination")&¶ms.getString("isPagination").equals("false")){
params.put("isPagination", false);
}
else
params.put("isPagination", true);
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
@Override
public String toString() {
return JSON.toJSONString(this); // 直接转为json输出
}
public IMap getParams() {
return params;
}
public void setParams(IMap params) {
this.params = params;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
}