基于mysql的分页查询

分页查询可以查询的提高反应速度,提升客户端体验。

如果不进行分页加载数据库中的内容,而是将数据库中的内容一次性的加载出来,加入数据库中的数目多达上万条,显然查询效率会变的很慢,这样对客户来说,体验感是极差的,而且给服务端造成的压力也大。

  • 关键字----limit m,n   m起始位置(从0开始) n条数 (例:select * from 表名 limit m,n)
  • m和当前页currentPage,pageSize(条数/页)的公式

M=(currentPage-1)*pageSize

N=pageSize

分页查询开发步骤:

  1. 创建分页辅助类(包含页面中所需要的全部数据):
/属性
	//页面尺寸----->自己规定的
	private Integer pageSize=3;  
    //总条数------->从数据库查询的(SELECT COUNT(*) from t_customer)
	private Integer totalCount;
	//总页数------->总页数int c=(a%b==0?(a/b):(a/b)+1);
	private Integer pageCount;
	//当前页 ------->页面传入的参数
	private Integer currentPage;
	//查询出来的数据集合 ?不确定:增强扩展性
	private List<?> data;


//-------------------------------------
	//修改该get方法
	public Integer getPageCount() {
		//总页数int c=(a%b==0?(a/b):(a/b)+1);	
		pageCount=(totalCount%pageSize==0?(totalCount/pageSize):(totalCount/pageSize)+1);
		return pageCount;
	}

2. 接口设计:

查询总条数:

//查询总条数
public int getTotalCount();
SELECT COUNT(*) from t_customer
//分页查询客户信息
public List<Customer> getCustomers(int m,int n);


select (...) from 表名 limit m,n

3.  service层:

//查询客户分页列表//LimitUtil 里面有一页面所需要的分页信息--把limitUtil填充满再返回
public LimitUtil   getCustomerInfo(int currentPage);

4. servlet:

//接收参数
String parameter = request.getParameter("currentPage");
if(parameter!=null){
	int currentPage=Integer.parseInt(parameter);
		
	LimitUtil customerInfo = cs.getCustomerInfo(currentPage);
			
	//存域
	request.setAttribute("pageBean", customerInfo);
}
		
		
//跳转到分页页面
request.getRequestDispatcher("/WEB-INF/customer/limitPage.jsp").forward(request, response);

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值