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

處理查詢結(jié)果后分頁排序類

張軍 7276 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;

/**
 * 處理查詢結(jié)果后分頁排序類<br>
 * 
 * @version 1.00 (2011.12.02)
 * @author 張軍 {@link  <a target=_blank href="http://m.eyofj.com">張軍個人網(wǎng)站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">張軍QQ空間</a>}
 */
public class PageUtil {
	/**
	 * list數(shù)據(jù)分頁
	 * 
	 * @param pages 數(shù)據(jù)集合
	 * @param pageNo 當前頁面(從1開始)
	 * @param pageRows 每頁顯示行數(shù)
	 * @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>();
		// 設(shè)置總記錄數(shù)
		data.setRows(pages);
		if (pages != null && pages.size() > 0) {
			// 設(shè)置總行數(shù)
			data.setTotal(pages.size());
			// 臨時總記錄數(shù)
			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);
			// 設(shè)置到臨時總記錄對象中
			data.setRowsOld(rowsOld);
			// 清空對象中的總記錄
			data.getRows().clear();
			// 如果當前頁面小于等于0,則賦值1
			if (pageNo <= 0)
				pageNo = 1;
			// 計算開始記錄索引
			int startNum = (pageNo - 1) * pageRows + 1;
			// 記錄結(jié)束記錄索引
			int endNum = pageNo * pageRows + 1;
			// 循環(huán)臨時記錄對象的數(shù)據(jù)
			Iterator<T> it = rowsOld.iterator();
			int _i = 0;
			while (it.hasNext()) {
				// 獲取臨時記錄中的對象(指向下一條記錄,如果不調(diào)用,則不會指向下一條記錄)
				T t = it.next();
				// 過慮開始結(jié)束記錄索引中的數(shù)據(jù)
				if (_i >= startNum - 1 && _i < endNum - 1) {
					// 如果臨時記錄中的大小小于索引
					if (rowsOld.size() < _i + 1)
						break;
					data.getRows().add(t);
				}
				_i++;
			}
		}
		return data;
	}

	/**
	 * list數(shù)據(jù)分頁
	 * 
	 * @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);
	}

	/**
	 * 計算頁數(shù)
	 * 
	 * @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;

/**
 * 處理查詢結(jié)果后排序類<br>
 * 
 * @version 1.00 (2011.12.02)
 * @author 張軍 {@link <a target=_blank href="http://m.eyofj.com">張軍個人網(wǎng)站</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() {
	}

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



更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩成人在线视频 | 久久精品国产色蜜蜜麻豆 | 婷婷综合激情五月中文字幕 | 九九久久九九久久 | 亚洲小说春色综合另类网蜜桃 | 高清毛片免费看 | 美女福利在线观看 | 国产精品嫩草影院99av视频 | 免费久久久久 | 欧美成人午夜在线全部免费 | 亚洲一区免费视频 | 黄色成人免费观看 | 黄色免费看网站 | 国产日韩一区二区三区 | 一级毛片免费不卡 | 狠狠干图片| 色无极欧美 | 国产网红精品 | 日本国产成人精品视频 | 久热这里只有精品99国产6 | 国产精品久久天天影视 | 亚洲欧美bt | 欧美一级艳片视频免费观看 | 热re久久精品国产99热 | 青草娱乐极品免费视频 | 国产香蕉在线视频一级毛片 | 日本午夜在线视频 | 天堂亚洲国产日韩在线看 | 欧美成人高清免费大片观看 | 99福利网 | 在线免费不卡视频 | 57pao一国产成视频永久免费 | 国产一区自拍视频 | 日日干日日插 | 亚洲精品综合一区在线 | 四虎国产精品免费久久麻豆 | 两性视频久久 | 国产精品午夜性视频 | 亚洲欧美日韩国产综合久 | 天天天天色 | 日本精品夜色视频一区二区 |