页面分页
今天做毕设的时候突然想起来,我查询所有数据好像都是直接全部显示出来,很明显数据多了之后这很明显不合理的。然后想到需要设计一个页面分页的功能。
这里说一下简单思路,需要从前端js代码中获取当前页码,返回给后台,用于后台查询。而后台也需要返回总页数与当页的数据。
这里展示一下Mybatis查询代码
<select id="getPageCategory" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
*
from category
<!-- limit后跟随格式为limit a,b;a为从a开始一直到a+b条数据 -->
limit #{page,jdbcType=INTEGER},5
</select>
然后这里是Controller层返回的代码
JSONObject jsonObject = new JSONObject();
//因为我们如果有11条数据,每页显示五条,需要显示三页,故要用到向上取整
jsonObject.put("total",(int)Math.ceil((double)categoryService.getAllCategory().size()/5));
//因为mysql索引默认从0开始,所以第一页的数据是从0~5,故起始位置在0,5,10,15以此类推
jsonObject.put("Category",categoryService.getPageCategory((Integer.parseInt(req.getParameter("page"))-1)*5));
return jsonObject;
然后剩下的功能就交给前端的jquery插件解决就行了。如果有同学需要插件可以访问这里。我自己用的需要的也可以联系我邮箱tzysz1997@163.com。主要是前端插件那一部分一时半会儿讲不清楚。
希望每天都能有所收获,加油~!