servlet分页实现
目的
当数据很多时,采用分页的方式可以将数据,分页显示。既提高了运行速度,也便于查看。
实现方法
分页的核心思想就是SQL语句中的limit,即限制查询。limit的使用方法有两种,limit n即为limit 0,n;limit 0,n即为从第0个数据开始,共检索n条数据
在Servlet中设置当前页码,页面数据量,数据总条数和页码总数四个值。页面数据量设置为常量,数据总条数通过SQL语句 select count(*) from students获得,页码总数通过数据总条数除以页面数据量,并使用Math.ceil()方法向上取整得到(向上取整是因为超出部分的数据只能在另一页出现)。
在此基础上,可以为li标签添加判断,当显示第i个页面时,显示active效果。添加前进后退键,后退即为当前页码-1,并添加判断当在第一页时,切换到第一页,避免空指针;前进键即为当前页码+1,并添加判断,当在最后一页即页码+1大于页码总数时,切换到最后一页(即页码总数)
代码实现
@Override
public List<Student> selectPage(int offset, int pageSize) {
String sql = "select * from students limit ?,?";
BeanListHandler<Student> hand