java 分页查询_java开发之分页查询
工具類
package com.luer.comm.utils;
import java.util.List;
public class PageBean {
//已知數據
private int pageNum; //當前頁,從請求那邊傳過來。
private int pageSize; //每頁顯示的數據條數。
private int totalRecord; //總的記錄條數。查詢數據庫得到的數據
//需要計算得來
private int totalPage; //總頁數,通過totalRecord和pageSize計算可以得來
//開始索引,也就是我們在數據庫中要從第幾行數據開始拿,有了startIndex和pageSize,
//就知道了limit語句的兩個數據,就能獲得每頁需要顯示的數據了
private int startIndex;
//將每頁要顯示的數據放在list集合中
private List list;
//分頁顯示的頁數,比如在頁面上顯示1,2,3,4,5頁,start就為1,end就為5,這個也是算過來的
private int start;
private int end;
private String successMsg;
private String failMsg;
public PageBean(){}
public PageBean(int pageNum,int pageSize){
this.pageNum = pageNum;
this.pageSize = pageSize;
}
//通過pageNum,pageSize,totalRecord計算得來tatalPage和startIndex
//構造方法中將pageNum,pageSize,totalRecord獲得
public PageBean(int pageNum,int pageSize,int totalRecord) {
this.pageNum = pageNum;
this.pageSize = pageSize;
this.totalRecord = totalRecord;
//totalPage 總頁數
if(totalRecord%pageSize==0){
//說明整除,正好每頁顯示pageSize條數據,沒有多余一頁要顯示少于pageSize條數據的
this.totalPage = totalRecord / pageSize;
}else{
//不整除,就要在加一頁,來顯示多余的數據。
this.totalPage = totalRecord / pageSize +1;
}
//開始索引
this.startIndex = (pageNum-1)*pageSize ;
//顯示5頁,這里自己可以設置,想顯示幾頁就自己通過下面算法修改
this.start = 1;
this.end = 5;
//顯示頁數的算法
if(totalPage <=5){
//總頁數都小于5,那么end就為總頁數的值了。
this.end = this.totalPage;
}else{
//總頁數大于5,那么就要根據當前是第幾頁,來判斷start和end為多少了,
this.start = pageNum - 2;
this.end = pageNum + 2;
if(start < 0){
//比如當前頁是第1頁,或者第2頁,那么就不如和這個規則,
this.start = 1;
this.end = 5;
}
if(end > this.totalPage){
//比如當前頁是倒數第2頁或者最后一頁,也同樣不符合上面這個規則
this.end = totalPage;
this.start = end - 5;
}
}
}
//get、set方法。
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalRecord() {
return totalRecord;
}
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getStartIndex() {
return startIndex;
}
public void setStartIndex(int startIndex) {
this.startIndex = startIndex;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
public void setSuccessMsg(String successMsg){
this.successMsg = successMsg;
}
public String getSuccessMsg(){
return successMsg;
}
public void setFailMsg(String failMsg){
this.failMsg = failMsg;
}
public String getFailMsg(){
return failMsg;
}
}
/*
* 分頁查詢
* pageNum:當前頁
* pageSize:每頁顯示多少條數據
* */
@ResponseBody
@RequestMapping("/queryPage")
public PageBean queryPage(int pageNum, int pageSize){
PageBean pageBean = new PageBean();
if(pageNum > 0 && pageSize > 0) {
int totalRecord = goodsmessageService.countGoodsmessage();
pageBean = new PageBean(pageNum, pageSize, totalRecord);
//從該行開始拿數據
int startIndex = (pageNum - 1) * pageSize;
pageBean.setStartIndex(startIndex);
//數據集合
List goodsmessages = goodsmessageService.findListDataPage(startIndex, pageSize);
pageBean.setList(goodsmessages);
pageBean.setSuccessMsg("success");
}else{
pageBean.setFailMsg("error");
}
return pageBean;
}
總結
以上是生活随笔為你收集整理的java 分页查询_java开发之分页查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scala调用java代码_scala调
- 下一篇: java中的重写与重载_java中的重写