如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能

  介绍

这篇文章将为大家详细讲解有关如何在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接口中定义分类的方法

如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能“> <br/> </p> <p>传入两个参数,分别是开始页和每页显示记录的条数只</p> <p>映射器的映射文件中的SQL分页语句</p> <pre类= & 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实现一个分页功能