分页分为两种:
一:分页的概念
1:逻辑分页:查询数据库时一次性把所有的数据查询出来,在业务层中根据分页需求截取你所需要的数据.
2:物理分页:根据数据库对sql语句的支持,在sql中通过关键字实现分页查询(在sql执行时,只查询当页显示的数据).
但是通常的在实际的项目中一般会把逻辑分页和物理分页结合在一起使用.
二:物理分页的公式:
1:获得总的页数:(总记录数+当前每页显示多少条数据-1)/当前每页显示多少条数据
2:获得开始查询索引:(当前页数-1)*当前每页显示多少条数据
三:判断左五右四的方法进行分页:
1:<c:forEach begin="${(pageBean.pageNum-5)>0?(pageBean.pageNum-5):1}" //判断左边是否还有5个数据,如果没有当前页-5小于等于0的话那就让他从第一页开始显示
end="${pageBean.pageNum+4>pageBean.totalPageNum?pageBean.totalPageNum:pageBean.pageNum+4 }" var="i">//判断右边是否还有4个数据,如果没有的话就让他从最后一页显示到当前页,如果有的话那就从当前页开始+4显示到后4页
<c:if test="${pageBean.pageNum!=i }">//var=i是一个变量 记住这个这个左五右四
<a href="/customer/pagequery?pageNum=${i }">${i }</a>
</c:if>
<c:if test="${pageBean.pageNum==i }">
<font color="red">${i }</font>//将当前页显示成红色
</c:if>
</c:forEach>