日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

張軍 6737 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é)果后分頁(yè)排序類<br>
 * 
 * @version 1.00 (2011.12.02)
 * @author 張軍 {@link  <a target=_blank href="http://www.sfpk123.com">張軍個(gè)人網(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ù)分頁(yè)
	 * 
	 * @param pages 數(shù)據(jù)集合
	 * @param pageNo 當(dāng)前頁(yè)面(從1開(kāi)始)
	 * @param pageRows 每頁(yè)顯示行數(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í)總記錄數(shù)
			Set<T> rowsOld = null;
			// SortedSet
			if (CheckUtil.isNull(sortName) || CheckUtil.isNull(sortOrder)) {
				// 如果沒(méi)有指定排序,則無(wú)序
				rowsOld = new HashSet<T>();
			} else {
				// 排序
				SortUtil<T> cu = new SortUtil<T>();
				cu.setSortName(sortName);
				cu.setSortOrder(sortOrder);
				rowsOld = new TreeSet<T>(cu);
			}
			// 添加臨時(shí)總記錄
			rowsOld.addAll(pages);
			// 設(shè)置到臨時(shí)總記錄對(duì)象中
			data.setRowsOld(rowsOld);
			// 清空對(duì)象中的總記錄
			data.getRows().clear();
			// 如果當(dāng)前頁(yè)面小于等于0,則賦值1
			if (pageNo <= 0)
				pageNo = 1;
			// 計(jì)算開(kāi)始記錄索引
			int startNum = (pageNo - 1) * pageRows + 1;
			// 記錄結(jié)束記錄索引
			int endNum = pageNo * pageRows + 1;
			// 循環(huán)臨時(shí)記錄對(duì)象的數(shù)據(jù)
			Iterator<T> it = rowsOld.iterator();
			int _i = 0;
			while (it.hasNext()) {
				// 獲取臨時(shí)記錄中的對(duì)象(指向下一條記錄,如果不調(diào)用,則不會(huì)指向下一條記錄)
				T t = it.next();
				// 過(guò)慮開(kāi)始結(jié)束記錄索引中的數(shù)據(jù)
				if (_i >= startNum - 1 && _i < endNum - 1) {
					// 如果臨時(shí)記錄中的大小小于索引
					if (rowsOld.size() < _i + 1)
						break;
					data.getRows().add(t);
				}
				_i++;
			}
		}
		return data;
	}

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

	/**
	 * 計(jì)算頁(yè)數(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://www.sfpk123.com">張軍個(gè)人網(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號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 通化市| 青浦区| 柳河县| 邵东县| 余庆县| 阳新县| 阳信县| 七台河市| 卫辉市| 志丹县| 宁安市| 札达县| 天台县| 柞水县| 栾川县| 萨嘎县| 图木舒克市| 儋州市| 咸阳市| 松江区| 苏尼特左旗| 进贤县| 井研县| 理塘县| 会理县| 稻城县| 长寿区| 廉江市| 卓尼县| 博乐市| 娱乐| 达孜县| 嘉鱼县| 紫金县| 衢州市| 乌拉特前旗| 镇江市| 鄯善县| 沈丘县| 改则县| 广灵县|