当前位置 : 主页 > 编程语言 > java >

MySQL通用性较高的分页代码

来源:互联网 收集:自由互联 发布时间:2021-06-28
分页被引用页面 standard.jsp 总 ${page.totalCount} 条 每页 ${page.pageSize} 条 总 ${page.pageCount} 页 第 ${page.pageNow} 页 首页 首页 上一页 上一页 第 ${selectvalue} 页 下一页 下一页 尾页 尾页 每页显示
分页被引用页面 standard.jsp
 

 

总 ${page.totalCount} 条  
每页 ${page.pageSize} 条  
总 ${page.pageCount} 页   
第 ${page.pageNow} 页      


 
  首页
 

 
  首页
 
 

 
  上一页
 

 
  上一页
 
 


 第
页 
 


 
  下一页
 


 
  下一页
 
 

 
  尾页
 

 
  尾页
 
   

 每页显示
 
分页类专用PagingMS.java
package com.auth.util;

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

/*
 * author KEN
 * 2017.10.29
 * 
 * 
 * 
 * */

//MySql 下通用 分页类
public class PagingMS {
   
	   int pageSize;    //每页条目数  limit 第二个参数,查询多少条
	  
	   int totalCount;  //总条目数
	   
	   int pageCount;   //总页数
	   
	   int pageNow;     //当前页码
	   
	   int startNum;    //limit  第一个参数从第几条开始查
	   
	   String fuSeaPara;   // 模糊查询参数存储  ,下一页 的参数
	   
	   String pageURL;  //为满足  分页页面复用性  跳不同的action
	   
	   private List
  resultList;      //返回数据库分页查询 结果集
	   
	
	   public String getFuSeaPara() {
		return fuSeaPara;
	  }

	   public void setFuSeaPara(String fuSeaPara) {
		this.fuSeaPara = fuSeaPara;
	  }
  
	   public String getPageURL() {
		return pageURL;
	  }

	  public void setPageURL(String pageURL) {
		this.pageURL = pageURL;
	  }

	   public int getPageSize() {
		   //防止查出总条目为0,<5 ,系统会把 totalCount为0  赋值给 pageSize,而在求总页数 pageCount 是 pageSize会作为分母 ,系统报错。 
            if(pageSize==0){
		    	pageSize=1;
		    }
			return pageSize;
		}

		public void setPageSize(int pageSize) {
			this.pageSize = pageSize;
		}
		
		//通过参数计算每页的条目数
		public int calcPageSize(String ps){
			if(null==ps){
				//总条数大于5 ,默认5,小于5,就是 总条数,不写的话,在总条数小于5 ,页面会显示每页显示1条 
				//return 5;
				return this.getTotalCount()>5?5:this.getTotalCount();
			}
			else return Integer.parseInt(ps);
		}

		public int getTotalCount() {
			return totalCount;
		}

		public void setTotalCount(int totalCount) {
			this.totalCount = totalCount;
		}

		public int getPageCount() {
			return totalCount%getPageSize()==0?totalCount/getPageSize():totalCount/getPageSize()+1;
		}

		public void setPageCount(int pageCount) {
		   this.pageCount = pageCount;
		}

		public int getPageNow() {
			return pageNow;
		}

		public void setPageNow(int pageNow) {
			this.pageNow = pageNow;
		}
		
		//计算当前页
		public int calcPageNow(String pn){
			if(null==pn){
				return 1;
			}
			else return Integer.parseInt(pn);
		}

		public int getStartNum() {
			return (getPageNow()-1)*getPageSize();
		}

		public void setStartNum(int startNum) {
			this.startNum = startNum;
		}
		
		public List
  getResultList() {
			return resultList;
		}

		public void setResultList(List
  resultList) {
			this.resultList = resultList;
		}

		@Override
		public String toString() {
			return "PagingMS [pageSize=" + pageSize + ", totalCount=" + totalCount
					+ ", pageCount=" + pageCount + ", pageNow=" + pageNow
					+ ", startNum=" + startNum + ", resultList=" + resultList + "]";
		}
	   

      
}
Controller
package com.auth.controller;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.json.JSONObject;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.alibaba.druid.util.StringUtils;
import com.auth.entity.CheckBatch;
import com.auth.entity.Store;
import com.auth.entity.StoreCheck;
import com.auth.entity.UserInfo;
import com.auth.service.CheckProductService;
import com.auth.service.StoreService;

import com.auth.util.PagingMS;


/*
 * author  jerrychen
 * data  2017.10.25
 * 
 *
 * */

 //全查所有盘点表并 分页显示
	@RequestMapping("/showAllStoreCheListByPaging")
	public ModelAndView showAllStoreCheListByPaging(HttpServletRequest request,HttpServletResponse response){
		System.out.println("进入分页显示全部盘点表");
		//下拉列表显示所有  盘点批次 ,利用模糊查询,hsm2为空,进行全查。
		HashMap hsm2=new HashMap();
		List 
 
   CheckBatchList=cps.likeFindCheckBatchByPagingSer(hsm2);
		request.setAttribute("CheckBatchListEL", CheckBatchList);
		
		PagingMS pgm=new PagingMS();
		
		int scCount=cps.findAllStoreCheckCountSer();
		pgm.setTotalCount(scCount);
		
		//每页条目数  ,limit 第2个参数
		
		String ps=request.getParameter("page.pageSize");
		
		//给对象赋 每页显示条数
		pgm.setPageSize(pgm.calcPageSize(ps));
		
		//当前页数目
		
		String pn=request.getParameter("page.pageNow");
		
		//赋当前页值
		pgm.setPageNow(pgm.calcPageNow(pn));	
		
		//为满足  分页页面复用性,设置
		
		String pageURL="/checkbatch/showAllStoreCheListByPaging.action";
		pgm.setPageURL(pageURL);

		HashMap hsm=new HashMap();
	    hsm.put("startNumHKey", pgm.getStartNum());
	    hsm.put("pageSizeHKey", pgm.getPageSize());
	  
	    pgm.setResultList(cps.findAllStoreCheckByPagingSer(hsm));
	    System.out.println("pgm     "+pgm);
		ModelAndView mav = new ModelAndView();
		mav.addObject("page", pgm);
		//xml有配置 所以    可以   pages  也不能加  .jsp
		mav.setViewName("storeCheck-list");
		return mav;
	}
 
网友评论