1. 程式人生 > >那些瘋狂到以為自己能夠改變世界的人,才能真正改變世界!

那些瘋狂到以為自己能夠改變世界的人,才能真正改變世界!

1.分頁實現類

SpringDataPageable.java

package com.ceair.dao;

import java.io.Serializable;

import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;

public class SpringDataPageable implements Serializable, Pageable {
	private static final long serialVersionUID = 1;
	// 當前頁
	private Integer pagenumber = 1;
	// 當前頁面條數
	private Integer pagesize = 1000;
	// 排序條件
	private Sort sort;

	// 當前頁面
	@Override
	public int getPageNumber() {
		return getPagenumber();
	}

	// 每一頁顯示的條數
	@Override
	public int getPageSize() {
		return getPagesize();
	}

	// 第二頁所需要增加的數量
	@Override
	public int getOffset() {
		return (getPagenumber() - 1) * getPagesize();
	}

	@Override
	public Sort getSort() {
		return sort;
	}

	public Integer getPagenumber() {
		return pagenumber;
	}

	public void setPagenumber(Integer pagenumber) {
		this.pagenumber = pagenumber;
	}

	public Integer getPagesize() {
		return pagesize;
	}

	public void setPagesize(Integer pagesize) {
		this.pagesize = pagesize;
	}

	public void setSort(Sort sort) {
		this.sort = sort;
	}

	@Override
	public Pageable first() {
		return null;
	}

	@Override
	public boolean hasPrevious() {
		return false;
	}

	@Override
	public Pageable next() {
		return null;
	}

	@Override
	public Pageable previousOrFirst() {
		return null;
	}
}

PageDao.java
package com.ceair.dao;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Query;

/**
 * Title: 分頁 <br/>
 * Description: <br/>
 * 
 * @author: wangzs <br/>
 * @date: 2017年5月10日
 */
public interface PageDao<E> {
	/**
	 * @param pageNum
	 *            開始頁
	 * @param pagesize
	 *            每頁大小
	 * @param query
	 *            查詢條件
	 * @param sort
	 *            排序條件
	 * @param collections
	 *            集合名字
	 * @return
	 */
	public Page<E> paginationQuery(Integer pageNum, Integer pagesize, Query query, Sort sort, Class collections);
}

PageDaoImpl.java
package com.ceair.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;

/**
 * Title: 分頁 impl <br/>
 * Description: <br/>
 * 
 * @author: wangzs <br/>
 * @date: 2017年5月10日
 */
public class PageDaoImpl<E> implements PageDao<E> {
	@Autowired
	private MongoTemplate mongoTemplate;

	/**
	 * @param pageNum
	 *            開始頁
	 * @param pagesize
	 *            每頁大小
	 * @param query
	 *            查詢條件
	 * @param sort
	 *            排序條件
	 * @param collections
	 *            集合名字
	 * @return
	 */
	@Override
	public Page<E> paginationQuery(Integer pageNum, Integer pagesize, Query query, Sort sort, Class collections) {
		SpringDataPageable pageable = new SpringDataPageable();
		// 開始頁
		pageable.setPagenumber(pageNum);
		// 每頁條數
		pageable.setPagesize(pagesize);
		// 排序
		pageable.setSort(sort);
		// 查詢出一共的條數
		Long count = mongoTemplate.count(query, collections);
		// 查詢
		List<E> list = mongoTemplate.find(query.with(pageable), collections);
		// 將集合與分頁結果封裝
		Page<E> pagelist = new PageImpl<E>(list, pageable, count);
		return pagelist;
	}

}

2.測試實體bean

IndividualTemp.java

package com.ceair.bean;

import java.util.Date;

public class IndividualTemp {

	public IndividualTemp() {
		super();
	}

	public IndividualTemp(String partyId, boolean etermToTsdata, boolean tsdataToCmp, Date lastUpdateTime) {
		super();
		this.partyId = partyId;
		this.etermToTsdata = etermToTsdata;
		this.tsdataToCmp = tsdataToCmp;
		this.lastUpdateTime = lastUpdateTime;
	}

	private String partyId;
	private boolean etermToTsdata;// 根據黑屏重新整理tsdata資料標識
	private boolean tsdataToCmp;// 根據tsdata重新整理cmp行程標識
	private Date lastUpdateTime;

	public String getPartyId() {
		return partyId;
	}

	public void setPartyId(String partyId) {
		this.partyId = partyId;
	}

	public boolean isEtermToTsdata() {
		return etermToTsdata;
	}

	public void setEtermToTsdata(boolean etermToTsdata) {
		this.etermToTsdata = etermToTsdata;
	}

	public boolean isTsdataToCmp() {
		return tsdataToCmp;
	}

	public void setTsdataToCmp(boolean tsdataToCmp) {
		this.tsdataToCmp = tsdataToCmp;
	}

	public Date getLastUpdateTime() {
		return lastUpdateTime;
	}

	public void setLastUpdateTime(Date lastUpdateTime) {
		this.lastUpdateTime = lastUpdateTime;
	}

	@Override
	public String toString() {
		return "IndividualTemp [partyId=" + partyId + ", etermToTsdata=" + etermToTsdata + ", tsdataToCmp=" + tsdataToCmp + ", lastUpdateTime="
				+ lastUpdateTime + "]";
	}

}

3.測試類

IndividualTempPageTest.java

package com.ceair.data;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.domain.Sort.Order;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.ceair.bean.Individual;
import com.ceair.bean.IndividualTemp;
import com.ceair.dao.PageDao;

/**
 * Title: IndividualTemp分頁測試 <br/>
 * Description: <br/>
 * 
 * @author: wangzs <br/>
 * @date: 2017年5月10日
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { //
		"classpath*:beans/applicationContext-*.xml", //
		"classpath*:spring/applicationContext-*.xml"//
})
public class IndividualTempPageTest {
	private static final Logger logger = LoggerFactory.getLogger(IndividualTempPageTest.class);
	@Autowired
	private PageDao<IndividualTemp> pageDao;

	@Test
	public void testCopyIndividual() {
		Query query = new Query();
		List<Order> orders = new ArrayList<Order>(); // 排序
		orders.add(new Order(Direction.ASC, "partyId"));
		Sort sort = new Sort(orders);

		for (int i = 1; i < 1500; i++) {
			Page<IndividualTemp> pages = pageDao.paginationQuery(i, 10, query, sort, IndividualTemp.class);
			for (IndividualTemp temp : pages) {
				System.out.println(temp);
			}
			System.out.println("page=" + i);
			logger.info("page=" + i);
		}
	}
}


相關推薦

那些瘋狂以為自己能夠改變世界才能真正改變世界

1.分頁實現類 SpringDataPageable.javapackage com.ceair.dao; import java.io.Serializable; import org.springframework.data.domain.Pageable; imp

對於那些各種黑Sinoc(原Mchain)的我真的覺得可笑

一首先我要感謝那些在M鏈賺了錢然後再出去詆譭它的人,因為他們教會了我 一定不能像他們那樣忘恩負義。 二其次我要感謝的是先是詆譭Mchain再拉人去做其他專案的人,讓我學會了我 不能像他們一樣損人利己。 三我要感謝那些每天頭頂光

萬字諫言那些想學Python的建議收藏後細看

我們 元編程 最小 linu man RoCE str 如果 交流 1. 這幾天陸續收到很多讀者、球友的留言、私信,說要怎麽學Python?有沒有基礎的,偏小白的學習方法?我的回答是:等我統一答復。 小編從不食言,今天就來說說我覺得一個零基礎、想轉行、一直不得法的人應該如何

關於Mongodb的全面總結學習mongodb的可以從這裡開始

原文地址:http://blog.csdn.net/jakenson/article/details/7060431  MongoDB的內部構造《MongoDB The Definitive Guide》 MongoDB的官方文件基本是how to do的介紹,而

我們是幹大事的從來都不要臉

臉,就是面子。中國人又特愛面子,甚至有人認為面子比色差儀性命還重要。俗話說:“人爭一口氣,佛爭一炷香”。 面子不僅影響著人的生活方式,還影響著人的社會交往,甚至能決定一個人的命運。 在中國,為了面子而丟掉性命的,也大有人在。最典型的,就屬在烏江邊自刎而死的霸王項羽。兵

計算機中那些事兒(一):妙用遠端方便你我他

你還在為忘記電腦關機,傳檔案忘帶u盤,急著操作電腦而不在電腦旁,,,而苦惱嗎??? 如果是,那恭喜您,以下的方法一定會接觸您的煩惱!如果不是,那也恭喜您,一起下去看看吧下面的內容一定會讓您解除將來的煩

瘋狂到相信自己能夠改變世界工程師就是這麼一群

【伯樂線上導讀】:本文源自知乎上的一個問答貼《什麼是工程師文化?》,題主的補充: 在你眼中,怎樣的公司才算是有工程師文化的公司?包括且不限於計算網際網路行業,土木建築業,機械製造業,航空航天業,生物化工業等眾多工程師行業。 下面是王一和冷哲兩位網友的觀點(伯樂線上已

正如雲是由無數小水滴組成的一樣真正改變世界不一定是那些看起來高科技的企業也不一定是世界500強而是那些普普通通的

新人 守護 雲計算大會 王堅 傳輸 不一定 想想 站點 人事管理 從雪域高原來到秦巴山區,轉眼已是12年。這期間,吳磊守著兩條靜靜的鋼軌。 吳磊說,他不怕守,因為,“1999年,18歲應征入伍就是邊防戰士,只不過那個時候在日喀則,守的是國境,守的是國家安全,現在守的是鐵路,

【ccf19881030的專欄】一個一直都很優秀的人和一個逐漸變得優秀的人,後者往往更有吸引力。而我想做的就是那個逐漸讓自己變得優秀的人,雖然優秀沒有界限但是成為你最想做的人,不斷改變和進步才是你內心最優質的人,於己

一個一直都很優秀的人和一個逐漸變得優秀的人,後者往往更有吸引力。而我想做的就是那個逐漸讓自己變得優秀的人,雖然優秀沒有界限,但是成為你最想做的人,不斷改變和進步,才是你內心最優質的人,於人於己!...

實習到轉正一年以來我希望自己能夠不斷的進步

免費空間 一個 支付寶 前景 零花錢 開機 了解 找工作 建立 2016年年末就開始準備建立自己的網站了,那時的我,剛剛邁入社會,壓力瞬間上升,自己不能成為啃老族,要開始進入找工作的大軍中,在去年6,7月中同拿到畢業證的學長學姐們爭下一條路,在前路迷茫中,踏入滬

心如到底是個怎麽樣的看她這樣對待自己的孩子你就知道了……

class html clas targe tar zha 1025. 自己 title http://www.jobccn.com/zhaopin/job_11684.htmlhttp://www.jobccn.com/zhaopin/job_11682.htmlhttp

《絕地求生》為何外掛瘋狂?這個答案肯定讓“吃雞”

絕地求生《絕地求生》作為2017年的現象級遊戲,其另一個特點是被史無前例的外掛所包圍。據《絕地求生》遊戲官方微博發布,截至11月12日,該遊戲處罰的開掛作弊賬號數達到70萬個。足夠多的外掛,讓眾多玩家將其稱為“諸神之戰”。因為使用外掛的玩家就如同神仙一樣,可以在遊戲中發起一波波詭異的攻擊。20余個賬號中就有1

react從0到0(再尼瑪學不會自己就去吃屎吧(我不是針對看到這篇文章的我只針對自己))

是你 htm creat map href api mes 4.0 rop 把字體搞大,看清楚點 入門級別 1.0 hello world 有圖有真相把! Browser.js 的作用是將 JSX 語法轉為 JavaScript 語法,,ReactDOM.ren

在不改變元素的顯示屬性的情況下元素都是可以設置寬度的並且能夠設置成功這句話是否正確?

NPU for 不可 inpu 都是 css 類型 line cit 在CSS中,html中的標簽元素大體被分為三種不同的類型: 塊狀元素、內聯元素(又叫行內元素)和內聯塊狀元素。 常用的塊狀元素有: <div>、<p>、<

那些一畢業就選擇華為的後來都怎麼樣了

01 “拍短視訊,開抖音號。一個半月100萬粉絲……” 表妹在一傢俬立醫院做牙科醫生。談到最近空降的新院長,根本停不下來。 新院長是從華為辭職出來的。據說一畢業就進了華為,做了十二年。 到醫院一上任就燒了三把火:調整組織架構、設定苛刻考核、嚴格目標導向、責任到人。 連續兩週

在中國沒要,銷量卻是世界第一,三星手機到底賣去哪了?

今年第三季度的全球手機銷量排行已經出來了,恭喜華為再次超過蘋果,成為世界第二,同時也恭喜小米位居世界第四,同比增長也不少。當著這次的榜首毫無疑問還是三星的,三星這個世界第一可是已經當了好些年了。     當然論資歷,還是三星厲害,畢竟是一個從1938年成立後,就

那些大學不上進的後來都怎麼樣了?

當你接觸的人比較多之後,你會發現,並不是誰都需要上進的。 你辛辛苦苦一輩子是為買房買車,有存款,甚至有些人一輩子都買不起,人家一出生就有這些東西,人家有資格追求平平淡淡,所以後來這部分不上進的人也能過的比普通人好。 就拿大學裡一個富二代來說,有家族企業,大學裡天天開著跑車泡妞、上網,畢業之後

那些回答問題不帶腦子的

最近在工作中呢,有一些核心和軟體的一方面問題,但是後來問題肯定就是已經解決了,問題只要你有耐心,那是肯定能解決的,在遇到問題的時候我上了谷歌和百度進行了查詢,千奇百怪的回答,我想說你們在回答這些問題的時候是不過腦子的嗎?更TM可笑的是搜尋完以後,第一頁全特麼是一個人的答案,你們可以複製貼上留用學習,可是nTM

那些年輕時“把生命浪費在賺錢”上的後來怎樣了?

著名財經作家吳曉波老師2014年在致18歲女兒的信裡說“生命就應該浪費在美好的事物上。”追求詩和遠方、品質生活成為熱愛生活的標誌。 熱衷旅行,品嚐美食,擁有設計獨特做工精良的物品,跟喜歡的人談一場轟轟烈烈的戀愛,培養自己與眾不同的愛好,豐富自己的人生閱歷...... 聽起來,這一切多麼令人神往。然而全中國1

願你每一個使用類庫的思維能夠真正從使用庫函式轉換為真正的面向物件

前言 java語言並不是純粹的面向物件,Java中有對基本資料型別的支援 java中基本資料型別分類:數值型別(整型+字元型+浮點型)+布林型別,所有數值型別之間可以進行自動轉換和強制型別轉換 j