1.1 概念
分页是Web应用程序非常重要的一个技术。数据库中的数据可能是成千上万的,不可能把这么多的数据一次显示在浏览器上面。一般根据每行数据在页面上所占的空间设置每页显示若干行,比如一般20行是一个比较理想的显示状态。
1.2 分页实现思路
对于海量的数据查询,需要多少就取多少,显然是最佳的解决方法,假如某个表中有200万条记录,第一页取前20条,第二页取21~40条记录。
select * from 表名 limit 0,20;//第一页
select * from 表名 limit 20,20;//第二页
select * from 表名 limit 40,20;//第三页
1.3 分页代码实现
步骤:
- 创建实体类Page 属性有:currentPage,pageSize,pageCount,totalCount,List
- 控制层获取Page对象,反馈到前端
- 业务层封装Page实体类属性值
- dao层完成获取总条数,分页查询SQL
- 前端分页展示
- 分页需要的数据:
- 1.当前页(前端传)
- 2.页大小(4条)
- 3.总条数(数据库求的)
- 4.显示数据(通过SQL求)
- 5.总页数(自己计算)
- 总页数:总条数/页大小–判断 例如共12条–3页 13条—4页
- long pageCount = (long)Math.ceil((double)totalCount/pageSize);
1.4分页实体类Page
public class Page <T> {
private long currentPage; //当前页
private long pageSize; //页大小
private long pageCount; //页数量-最好用long
private long totalCount; //总条数-最好用long
private List<T> list; //存内容
}
1.5分页控制层
@WebServlet("/show")
public class EmpController extends HttpServlet {
private EmpService empService = new EmpServiceImpl(); //员工业务对象
@Override
protected