ajax分页查询

分页查询的工具类

package util;

public class Pagination {
	private int ye;
	private int maxYe;
	private int beginYe;
	private int endYe;
	private int begin;


	public Pagination(int ye, int count, int numInPage, int numOfPage) {
		if (count != 0) {
			this.ye = ye;
			if (this.ye <= 1) {
				this.ye = 1;
			}
			maxYe = count % numInPage == 0 ? count / numInPage : count / numInPage + 1;

			if (this.ye >= maxYe) {
				this.ye = maxYe;
			}

			beginYe = this.ye - numOfPage / 2;
			if (beginYe <= 1) {
				beginYe = 1;
			}
			endYe = beginYe + numOfPage - 1;

			if (endYe >= maxYe) {
				endYe = maxYe;
				beginYe = endYe - numOfPage + 1;
			}
			if (beginYe <= 1) {
				beginYe = 1;
			}
			begin = (this.ye - 1) * numInPage;
		}
	}

	public int getBegin() {
		return begin;
	}

	public int getYe() {
		return ye;
	}

	public int getMaxYe() {
		return maxYe;
	}

	public int getBeginYe() {
		return beginYe;
	}

	public int getEndYe() {
		return endYe;
	}

}

controller层

	@RequestMapping("selectletter.do")
	@ResponseBody
	public Map<String, List<PM00004>> selectletter(@RequestParam(value = "ID40001") String ID40001,
			@RequestParam(value = "ID10001") String ID10001, @RequestParam(value = "NA50001") String NA50001,
			@RequestParam(value = "NA50002") String NA50002, @RequestParam(value = "date1") String date1,
			@RequestParam(value = "date2") String date2, @RequestParam(value = "page") String page) {
		/* 分页插件 */
		Integer page1 = Integer.parseInt(page);
		int i = 1;
		if (ID40001 == null) {
			i = 0;
		}
			/* 查询分页数据 */
			int count = produceService.searchCount(ID40001, ID10001, NA50001, NA50002, date1, date2);

			Pagination p = new Pagination(page1, count, constants.EMP_NUM_IN_PAGE, constants.EMP_NUM_OF_PAGE);
			
			//(ye-1)*Constant.EMP_NUM_IN_PAGE+1和ye*Constant.EMP_NUM_IN_PAGE分别是区间查询的开始位置和结束位置
			
			List<PM00004> list1 = produceService.selectletter(ID40001, ID10001, NA50001, NA50002, date1, date2,
					page1 * 2 - 1, page1 * 2);
					
			//map规定只能放list集合
			List list2 = new ArrayList<>();
			list2.add(p);
			List list3 = new ArrayList<>();
			list3.add(i);
			Map<String, List<PM00004>> map = new HashMap<String, List<PM00004>>();
			map.put("flag", list1);
			map.put("flag2", list2);
			map.put("flag3", list3);

			return map;
			}

后面的都差不多就不写了,主要是前端
图片上的是普通遍历,a标签携带数据跳转方法,去后台查询
在这里插入图片描述以下是ajax遍历分页,每次onclick走的是ajax的方法

$.ajax({
               url:"selectletter.do",
               type:"post",
               data:{"ID40001":a,"ID10001":b,"NA50001":c,"NA50002":d,"date1":e,"date2":f,"page":page},
               dataType:"json",
               success:function(data){
            	 //onclick携带数据(页数)是走的ajax方法,不刷新页面
             	  /* 分页查询 */
                  var pagingHtmlStr = "<ul class='pagination'>"+
	      		                          "<li id='pre' ><a href='javascript:void(0);' 'selectLetter("+data.flag2[0].ye+"-1)'>&laquo;</a></li>";
	      	                              for(var s=1;s<=data.flag2[0].endYe;s++){ 
	      		                              pagingHtmlStr = pagingHtmlStr +
	      		                              "<li ><a href='javascript:void(0);' 'selectLetter("+s+")'>"+s+"</a></li>"
			 	                          }
	      	                              pagingHtmlStr = pagingHtmlStr +
	      	                              "<li id='next'><a href='javascript:void(0);' 'selectLetter("+data.flag2[0].ye+"+1)'>&raquo;</a></li>"+
			                          "</ul>";
   	              /* 去重 */
     	          $("#paging").empty();
     	          拼接在body里
     	          $("#paging").append(pagingHtmlStr);
			   } 
		 }); 

sql语句

select ID81001,NA81003,NA81001,SU30001,KB10001 from(select ID81001,NA81003,NA81001,SU30001,KB10001,rownum AS RQ from MATERIEL)where RQ between #{begin} and #{end}

效果图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值