web分页查询

文章目录

分页查询

分页优点:

  • 数据清晰直观
  • 不受数据量限制
  • 页面不再冗长

分页查询步骤:

  • 计算显示数据的总数量
  • 确定每页显示的数据量
  • 计算显示的页数
    • 页数=总数量/每页显示的数据量[+1]
  • 编写分页查询SQL语句
  • 实现分页查询
总条数 12条  select count(id) from smbms_user
每页 5条
select *from smbms_user LIMIT  偏移量,每页固定条数

第一页 select *from smbms_user LIMIT  0,5
第二页 select *from smbms_user LIMIT  5,5
第三页 select *from smbms_user LIMIT  10,5


select *from smbms_user LIMIT  (page-1*5,5

偏移量=(当前页-1*每页固定条数
总页数=int(总数据量/5)+1

总页数=总条数%5==0(总数据量/5):(总数据量/5)+1

上一页  下一页  当前?页,每页5条,共?页

分页查询方法:

//查询整张表数据  pageSize每页条数  pyl偏移量
public List<User> listUser(int pyl,int pageSize);

service:

//查询整张表数据  pageSize每页条数  当前页pageNo
public List<User> listUser(int pageSize, int pageNo){
    //偏移量=(当前页-1)*每页固定条数
    int pyl=(pageNo-1)*5;
    return userDao.listUser(pageSize,pyl);
}
//获取总数据量
public int sumNo(){
    return userDao.sumNo();
}

servlet:

//初始化第一页
int pageNo=1;
if(request.getParameter("pageNo")!=null){
    pageNo= Integer.parseInt(request.getParameter("pageNo"));
}
//调用分页方法
 List<User> list=userService.listUser(5,pageNo);
 //获取总条数
int  totalnum=userService.sumNo();
//获取总页数
int sumPage=(totalnum%5==0?(totalnum/5):((totalnum/5)+1));

jsp页面:

<a
   <c:if test="${pageNo>1}">   href="/userServlet?pageNo=${pageNo-1}" </c:if>
>
上一页
</a>

<a
   <c:if test= "${pageNo<sumPage}">  href="/userServlet?pageNo=${pageNo+1}" </c:if>
>
下一页
</a>
每页展示5条,共${totalnum}条,共${sumPage}页,当前是第${pageNo}页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值