亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

處理查詢結果后分頁排序類

張軍 6316 0
package zj.page.util;

import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

import zj.check.util.CheckUtil;
import zj.page.bean.Datagrid;
import zj.sort.util.SortUtil;

/**
 * 處理查詢結果后分頁排序類<br>
 * 
 * @version 1.00 (2011.12.02)
 * @author 張軍 {@link  <a target=_blank href="http://m.eyofj.com">張軍個人網站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">張軍QQ空間</a>}
 */
public class PageUtil {
	/**
	 * list數據分頁
	 * 
	 * @param pages 數據集合
	 * @param pageNo 當前頁面(從1開始)
	 * @param pageRows 每頁顯示行數
	 * @param sortName 排序名
	 * @param sortOrder 排序類型[asc,desc]
	 * @return
	 */
	public static <T> Datagrid<T> getDatagrid(List<T> pages, int pageNo, int pageRows, String sortName, String sortOrder) {
		Datagrid<T> data = new Datagrid<T>();
		// 設置總記錄數
		data.setRows(pages);
		if (pages != null && pages.size() > 0) {
			// 設置總行數
			data.setTotal(pages.size());
			// 臨時總記錄數
			Set<T> rowsOld = null;
			// SortedSet
			if (CheckUtil.isNull(sortName) || CheckUtil.isNull(sortOrder)) {
				// 如果沒有指定排序,則無序
				rowsOld = new HashSet<T>();
			} else {
				// 排序
				SortUtil<T> cu = new SortUtil<T>();
				cu.setSortName(sortName);
				cu.setSortOrder(sortOrder);
				rowsOld = new TreeSet<T>(cu);
			}
			// 添加臨時總記錄
			rowsOld.addAll(pages);
			// 設置到臨時總記錄對象中
			data.setRowsOld(rowsOld);
			// 清空對象中的總記錄
			data.getRows().clear();
			// 如果當前頁面小于等于0,則賦值1
			if (pageNo <= 0)
				pageNo = 1;
			// 計算開始記錄索引
			int startNum = (pageNo - 1) * pageRows + 1;
			// 記錄結束記錄索引
			int endNum = pageNo * pageRows + 1;
			// 循環臨時記錄對象的數據
			Iterator<T> it = rowsOld.iterator();
			int _i = 0;
			while (it.hasNext()) {
				// 獲取臨時記錄中的對象(指向下一條記錄,如果不調用,則不會指向下一條記錄)
				T t = it.next();
				// 過慮開始結束記錄索引中的數據
				if (_i >= startNum - 1 && _i < endNum - 1) {
					// 如果臨時記錄中的大小小于索引
					if (rowsOld.size() < _i + 1)
						break;
					data.getRows().add(t);
				}
				_i++;
			}
		}
		return data;
	}

	/**
	 * list數據分頁
	 * 
	 * @param pages
	 * @param pageNo
	 * @param pageRows
	 * @return
	 */
	public static <T> Datagrid<T> getDatagrid(List<T> pages, int pageNo, int pageRows) {
		return getDatagrid(pages, pageNo, pageRows, null, null);
	}

	/**
	 * 計算頁數
	 * 
	 * @param total
	 * @param rowsPerPage
	 * @return
	 */
	public static int pageCount(int total, int rowsPerPage) {
		int pageCount = 0;
		int modNum = 0;
		pageCount = total / rowsPerPage;
		modNum = total % rowsPerPage;
		if (modNum != 0) {
			pageCount++;
		}
		return pageCount;
	}
}
package zj.page.bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import lombok.Getter;
import lombok.Setter;

/**
 * 處理查詢結果后排序類<br>
 * 
 * @version 1.00 (2011.12.02)
 * @author 張軍 {@link <a target=_blank href="http://m.eyofj.com">張軍個人網站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">張軍QQ空間</a>}
 */
@Getter
@Setter
public class Datagrid<T> implements Serializable {
	private static final long serialVersionUID = 1l;

	public Datagrid(int total, List<T> rows) {
		this.total = total;
		this.rows = rows;
	}

	public Datagrid() {
	}

	/** 總數 **/
	private int total = 0;
	/** 新數據集合 **/
	private List<T> rows = new ArrayList<T>();
	/** 舊數據集合 **/
	private Set<T> rowsOld;
}



更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美亚洲综合另类成人 | 欧美激情亚洲精品日韩1区2区 | 操你妹影院 | 日本在线一区二区 | 男女午夜激情 | 日本护士一级毛片在线播放 | 浮力影院欧美三级日本三级 | 人人做天天爱夜夜爽中字 | 亚洲免费一区二区 | 久久久成人啪啪免费网站 | 国产农村妇女毛片精品久久久 | 日日操狠狠干 | 日本亚洲成高清一区二区三区 | 国产欧美精品国产国产专区 | 97se亚洲国产综合自在线 | 伊人久久精品亚洲午夜 | 免费视频精品一区二区三区 | 99久久久国产精品免费牛牛四川 | 久久永久免费视频 | 久草精品免费 | 久久这里 | 欧美天堂在线视频 | 婷婷国产偷v国产偷v亚洲 | 99热这里只有精品在线播放 | 免费国产97久久青草 | 尹人综合网 | 久久青青草原精品影院 | 欧美一级黄色录像 | 一本大道香蕉高清久久 | 中文字幕在线观看 | 性视频一区二区三区免费 | 四小虎免费永久观看 | 97久久伊人精品影院 | 国产乱码精品一区二区 | 337p欧美超大胆日本人术艺术 | 久久草在线观看视频 | 国产精品亚洲片在线牛牛影视 | 一区二区三区不卡在线 | 婷婷六月激情在线综合激情 | 日本一本二本免费播放视频 | 99热精品久久 |