介绍
这篇文章将为大家详细讲解有关如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>方法如下:,强>
首先写一个分页的工具类,定义当前页数,总页数,每页显示多少等属性。
/* * *分页工具类 */公共类页面实现Serializable { 私有静态最终长serialVersionUID=-2213069645383858323 l; 私人int pageNow=1;//当前页数 私人int页大?4;//每页显示记录的条数 私人int totalCount;//总的记录条数 私人int totalPageCount;//总的页数 私人int startPos;//开始位置,从0开始 私人布尔hasFirst;//是否有首页 私人布尔hasPre;//是否有前一页 私人布尔hasNext;//是否有下一页 私人布尔hasLast;//是否有最后一页/* * *通过构造函数传入总记录数和当前页 * @param totalCount * @param pageNow */公共页面(int totalCount int pageNow) { 这一点。totalCount=totalCount; 这一点。pageNow=pageNow; }/* * *取得总页数,总页数=总记录数/总页数 * @return */公共int getTotalPageCount () { totalPageCount=getTotalCount ()/getPageSize (); 返回(totalCount %页大?=0),# 63;totalPageCount :totalPageCount + 1; } 公共空间setTotalPageCount (int totalPageCount) { 这一点。totalPageCount=totalPageCount; } 公共int getPageNow () { 返回pageNow; } 公共空间setPageNow (int pageNow) { 这一点。pageNow=pageNow; } 公共int getPageSize () { 返回页大小; } 公共空间setPageSize (int pageSize) { 这一点。页大?页大小; } 公共int getTotalCount () { 返回totalCount; } 公共空间setTotalCount (int totalCount) { 这一点。totalCount=totalCount; }/* * *取得选择记录的初始位置 * @return */公共int getStartPos () { 返回(pageNow - 1) *页大小; } 公共空间setStartPos (int startPos) { 这一点。startPos=startPos; }/* * *是否是第一页 * @return */公共布尔isHasFirst () { 返回(pageNow==1), # 63;假:真; } 公共空间setHasFirst(布尔hasFirst) { 这一点。hasFirst=hasFirst; }/* * *是否有首页 * @return */公共布尔isHasPre () {//如果有首页就有前一页,因为有首页就不是第一页 返回isHasFirst (), # 63;真:假; } 公共空间setHasPre(布尔hasPre) { 这一点。hasPre=hasPre; }/* * *是否有下一页 * @return */公共布尔isHasNext () {//如果有尾页就有下一页,因为有尾页表明不是最后一页 返回isHasLast (), # 63;真:假; } 公共空间setHasNext布尔hasNext () { 这一点。hasNext=hasNext; }/* * *是否有尾页 * @return */公共布尔isHasLast () {//如果不是最后一页就有尾页 返回(pageNow==getTotalCount ()), # 63;假:真; } 公共空间setHasLast(布尔hasLast) { 这一点。hasLast=hasLast; } }
接着Mapper接口中定义分类的方法
& lt;选择id=癴indPages"resultType=癱om.dh25.pojo.Goods"比; 选择g.id、g.name g.price、g.num c.class_name, g.pic, g.des从tb_goods g, tb_class c g.class_id=c。cid限制# {startPos}, #{页大小} & lt;/select>
接着在控制类(控制器)中查询商品,同时进行分页。
查询商品方法
/* * *查询商品信息,实现分页 * @param商品 * @return * @throws例外 */@RequestMapping (“/queryPages") 公共字符串queryPages (HttpServletRequest请求,模型模型){抛出异常 字符串pageNow=request.getParameter (“pageNow"); 页面页=零; List商品=new ArrayList (); int totalCount=(int) service.getGoodsCount (1); 如果(pageNow !=null) { 页面=new (totalCount Integer.parseInt (pageNow)); 商品=this.service.findPages (page.getStartPos (), page.getPageSize ()); 其他}{ 页面=新页面(totalCount, 1); 商品=this.service.findPages (page.getStartPos (), page.getPageSize ()); } model.addAttribute (“goods_list"、货物); model.addAttribute (“page"、页面); 返回“货物/FenYeTest"; } 如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能