⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queryresult.java

📁 这是本人曾经在公司里用的,内部开发框架,基于struts+hibernate今天分享给大家
💻 JAVA
字号:
/**
 * 
 */
package cn.bway.common.vo;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author Kson
 *
 */
public class QueryResult implements Serializable {

	private static final long serialVersionUID = -2618245955576298297L;

	public final static int DEFAULT_PAGESIZE = 10;

	private int pageNum = 1;//默认查询第一页

	private int pageSize = DEFAULT_PAGESIZE;//默认每页10条记录

	private int pageCount = 0;

	private int resultCount = 0;

	private java.util.List result;

	public QueryResult() {
	}

	public int getPageNum() {
		return pageNum;
	}

	public void setPageNum(int pageNum) {
		this.pageNum = pageNum;
	}

	public int getPageCount() {
		return pageCount;
	}

	public void setPageCount(int pageCount) {
		this.pageCount = pageCount;
	}

	public int getResultCount() {
		return resultCount;
	}

	public void setResultCount(int resultCount) {
		this.resultCount = resultCount;
	}

	public java.util.List getResult() {
		return result;
	}

	public void setResult(java.util.List result) {
		this.result = result;
	}

	private void writeObject(ObjectOutputStream oos) throws IOException {
		oos.defaultWriteObject();
	}

	private void readObject(ObjectInputStream ois)
			throws ClassNotFoundException, IOException {
		ois.defaultReadObject();
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	/**
	 * 对没有分页的ReturnVO做分页处理
	 * @param returnVO ReturnVO
	 */
	public void setQueryResultByReturnVO(PageListVO returnVO) {
		Object retVO = returnVO.getretVO();
		if (retVO == null) {
			this.setPageCount(0);
			this.setPageNum(0);
			this.setResultCount(0);
			this.setResult(Collections.synchronizedList(new ArrayList()));
			return;
		}

		int count = 0;
		this.result = Collections.synchronizedList(new ArrayList());
		if (retVO instanceof java.util.List) {//返回List对象
			List list = (List) retVO;
			count = list.size();
		} else {//返回对象数租
			Object[] list = (Object[]) retVO;
			count = list.length;
		}

		//        System.out.println(count);
		//如果总计路数为0,则处理query对象的各项值
		if (count == 0) {
			this.setPageCount(0);
			this.setPageNum(0);
			this.setResultCount(0);
			this.setResult(Collections.synchronizedList(new ArrayList()));
			return;
		}
		//设置总记录数
		this.setResultCount(count);

		//获取总的页数
		int pageCount = (int) Math.ceil((float) count
				/ (float) this.getPageSize());
		this.setPageCount(pageCount);

		//重新设置当前页号
		int pageNum = this.getPageNum();
		if (pageNum > pageCount) { //传入的页号大于总页数,则修改当前页号为最大页号
			pageNum = pageCount;
		}
		if (pageNum < 1) { //传入的页号小于1,则修改当前页号为1
			pageNum = 1;
		}
		this.setPageNum(pageNum);

		//设置pageSize
		int pageSize = this.getPageSize();
		if (pageSize <= 0) {
			pageSize = DEFAULT_PAGESIZE;
			this.setPageSize(pageSize);
		}
		//处理分页结果
		this.result = Collections.synchronizedList(new ArrayList());
		if (retVO instanceof java.util.List) {//返回List对象
			List list = (List) retVO;
			int startPostion = (this.getPageNum() - 1) * this.getPageSize();
			for (int i = 0; i < this.pageSize; i++) {
				if (startPostion + i == list.size()) {
					break;
				}
				this.result.add(list.get(startPostion + i));
			}

		} else {//返回对象数租
			Object[] list = (Object[]) retVO;
			int startPostion = (this.getPageNum() - 1) * this.getPageSize();
			for (int i = 0; i < this.pageSize; i++) {
				if (startPostion + i == list.length) {
					break;
				}
				this.result.add(list[startPostion + i]);
			}
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -