成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何在SpringMVC中使用MyBatis與MySQL實(shí)現(xiàn)一個(gè)分頁(yè)功能

這篇文章將為大家詳細(xì)講解有關(guān)如何在Spring MVC中使用MyBatis與MySQL實(shí)現(xiàn)一個(gè)分頁(yè)功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出麒麟免費(fèi)做網(wǎng)站回饋大家。

方法如下: 

首先寫(xiě)一個(gè)分頁(yè)的工具類,定義當(dāng)前頁(yè)數(shù),總頁(yè)數(shù),每頁(yè)顯示多少等屬性。

/** 
 * 分頁(yè) 工具類 
 */ 
public class Page implements Serializable { 
 private static final long serialVersionUID = -2213069645383858323L; 
 private int pageNow = 1; // 當(dāng)前頁(yè)數(shù) 
 private int pageSize = 4; // 每頁(yè)顯示記錄的條數(shù) 
 private int totalCount; // 總的記錄條數(shù) 
 private int totalPageCount; // 總的頁(yè)數(shù) 
 private int startPos; // 開(kāi)始位置,從0開(kāi)始 
 private boolean hasFirst;// 是否有首頁(yè) 
 private boolean hasPre;// 是否有前一頁(yè) 
 private boolean hasNext;// 是否有下一頁(yè) 
 private boolean hasLast;// 是否有最后一頁(yè) 
 /** 
  * 通過(guò)構(gòu)造函數(shù) 傳入 總記錄數(shù) 和 當(dāng)前頁(yè) 
  * @param totalCount 
  * @param pageNow 
  */ 
 public Page(int totalCount, int pageNow) { 
  this.totalCount = totalCount; 
  this.pageNow = pageNow; 
 } 
 /** 
  * 取得總頁(yè)數(shù),總頁(yè)數(shù)=總記錄數(shù)/總頁(yè)數(shù) 
  * @return 
  */ 
 public int getTotalPageCount() { 
  totalPageCount = getTotalCount() / getPageSize(); 
  return (totalCount % pageSize == 0) ? totalPageCount 
    : totalPageCount + 1; 
 } 
 public void setTotalPageCount(int totalPageCount) { 
  this.totalPageCount = totalPageCount; 
 } 
 public int getPageNow() { 
  return pageNow; 
 } 
 public void setPageNow(int pageNow) { 
  this.pageNow = pageNow; 
 } 
 public int getPageSize() { 
  return pageSize; 
 } 
 public void setPageSize(int pageSize) { 
  this.pageSize = pageSize; 
 } 
 public int getTotalCount() { 
  return totalCount; 
 } 
 public void setTotalCount(int totalCount) { 
  this.totalCount = totalCount; 
 } 
 /** 
  * 取得選擇記錄的初始位置 
  * @return 
  */ 
 public int getStartPos() { 
  return (pageNow - 1) * pageSize; 
 } 
 public void setStartPos(int startPos) { 
  this.startPos = startPos; 
 } 
 /** 
  * 是否是第一頁(yè) 
  * @return 
  */ 
 public boolean isHasFirst() { 
  return (pageNow == 1) ? false : true; 
 } 
 public void setHasFirst(boolean hasFirst) { 
  this.hasFirst = hasFirst; 
 } 
 /** 
  * 是否有首頁(yè) 
  * @return 
  */ 
 public boolean isHasPre() { 
  // 如果有首頁(yè)就有前一頁(yè),因?yàn)橛惺醉?yè)就不是第一頁(yè) 
  return isHasFirst() ? true : false; 
 } 
 public void setHasPre(boolean hasPre) { 
  this.hasPre = hasPre; 
 } 
 /** 
  * 是否有下一頁(yè) 
  * @return 
  */ 
 public boolean isHasNext() { 
  // 如果有尾頁(yè)就有下一頁(yè),因?yàn)橛形岔?yè)表明不是最后一頁(yè) 
  return isHasLast() ? true : false; 
 } 
 
 public void setHasNext(boolean hasNext) { 
  this.hasNext = hasNext; 
 } 
 /** 
  * 是否有尾頁(yè) 
  * @return 
  */ 
 public boolean isHasLast() { 
  // 如果不是最后一頁(yè)就有尾頁(yè) 
  return (pageNow == getTotalCount()) ? false : true; 
 } 
 
 public void setHasLast(boolean hasLast) { 
  this.hasLast = hasLast; 
 } 
} 

接著Mapper接口中定義分類的方法

如何在Spring MVC中使用MyBatis與MySQL實(shí)現(xiàn)一個(gè)分頁(yè)功能

傳入兩個(gè)參數(shù),分別是開(kāi)始頁(yè)和每頁(yè)顯示記錄的條數(shù)。 

Mapper的映射文件中的SQL分頁(yè)語(yǔ)句

<select id="findPages" resultType="com.dh25.pojo.Goods"> 
  select g.id,g.name,g.price,g.num,c.class_name,g.pic,g.des from tb_goods g,tb_class c 
  where g.class_id=c.cid limit #{startPos},#{pageSize} 
</select> 

接著在控制類(Controller)中查詢商品,同時(shí)進(jìn)行分頁(yè)。

查詢商品方法

/** 
  * 查詢商品信息,實(shí)現(xiàn)分頁(yè) 
  * @param goods 
  * @return 
  * @throws Exception 
  */ 
 @RequestMapping("/queryPages") 
 public String queryPages(HttpServletRequest request, Model model) throws Exception { 
  String pageNow = request.getParameter("pageNow"); 
  Page page = null; 
  List<Goods> goods = new ArrayList<Goods>(); 
  int totalCount = (int) service.getGoodsCount(1); 
  if (pageNow != null) { 
   page = new Page(totalCount, Integer.parseInt(pageNow)); 
   goods = this.service.findPages(page.getStartPos(), page.getPageSize()); 
  } else { 
   page = new Page(totalCount, 1); 
   goods = this.service.findPages(page.getStartPos(), page.getPageSize()); 
  } 
  model.addAttribute("goods_list", goods); 
  model.addAttribute("page", page); 
  return "goods/FenYeTest"; 
 } 

這里需要注意一下,遍歷商品時(shí)沒(méi)有點(diǎn)擊頁(yè)數(shù),所以當(dāng)前頁(yè)默認(rèn)是空的,這里要在方法里面進(jìn)行判斷,如果pageNow為空,傳一個(gè)1到構(gòu)造函數(shù),否則會(huì)報(bào)空指針。

最后,在jsp頁(yè)面顯示查詢的商品列表,同時(shí)實(shí)現(xiàn)點(diǎn)擊上一頁(yè),下一頁(yè),首頁(yè),尾頁(yè)等常見(jiàn)分頁(yè)中的操作

<%@ page language="java" contentType="text/html; charset=UTF-8" 
 pageEncoding="UTF-8"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>商品查詢列表</title> 
</head> 
<body> 
 
 <table width="100%" border=1> 
  <tr> 
   <td>選擇</td> 
   <td>商品名稱</td> 
   <td>商品價(jià)格</td> 
   <td>生產(chǎn)數(shù)量</td> 
   <td>商品類別</td> 
   <td>商品圖片</td> 
   <td>商品信息</td> 
   <td>操作</td> 
  </tr> 
  <c:forEach items="${goods_list }" var="item"> 
   <tr> 
    <td>${item.id}<input type="hidden" name="id" value="${item.id}" /></td> 
    <td>${item.name }</td> 
    <td>${item.price }</td> 
    <td>${item.num }</td> 
    <td>${item.classInfo.class_name }</td> 
    <td><img  alt="商品圖片" 
     src="http://localhost/pic/${item.pic }"></td> 
    <td>${item.des }</td> 
    <td> 
    <a href="${pageContext.request.contextPath }/findGoodsById.action&#63;id=${item.id}" rel="external nofollow" >修改</a> 
    <a href="${pageContext.request.contextPath }/delGoods.action&#63;id=${item.id}" rel="external nofollow" >刪除</a> 
    </td> 
   </tr> 
  </c:forEach> 
 </table> 
 <div align="center"> 
   <font size="2">第 
   ${page.pageNow} 頁(yè)</font> <a href="queryPages.action&#63;pageNow=1" rel="external nofollow" rel="external nofollow" >首頁(yè)</a> 
  <c:choose> 
   <c:when test="${page.pageNow - 1 > 0}"> 
    <a href="queryPages.action&#63;pageNow=${page.pageNow - 1}" rel="external nofollow" >上一頁(yè)</a> 
   </c:when> 
   <c:when test="${page.pageNow - 1 <= 0}"> 
    <a href="queryPages.action&#63;pageNow=1" rel="external nofollow" rel="external nofollow" >上一頁(yè)</a> 
   </c:when> 
  </c:choose> 
  <c:choose> 
   <c:when test="${page.totalPageCount==0}"> 
    <a href="queryPages.action&#63;pageNow=${page.pageNow}" rel="external nofollow" rel="external nofollow" >下一頁(yè)</a> 
   </c:when> 
   <c:when test="${page.pageNow + 1 < page.totalPageCount}"> 
    <a href="queryPages.action&#63;pageNow=${page.pageNow + 1}" rel="external nofollow" >下一頁(yè)</a> 
   </c:when> 
   <c:when test="${page.pageNow + 1 >= page.totalPageCount}"> 
    <a href="queryPages.action&#63;pageNow=${page.totalPageCount}" rel="external nofollow" rel="external nofollow" >下一頁(yè)</a> 
   </c:when> 
  </c:choose> 
  <c:choose> 
   <c:when test="${page.totalPageCount==0}"> 
    <a href="queryPages.action&#63;pageNow=${page.pageNow}" rel="external nofollow" rel="external nofollow" >尾頁(yè)</a> 
   </c:when> 
   <c:otherwise> 
    <a href="queryPages.action&#63;pageNow=${page.totalPageCount}" rel="external nofollow" rel="external nofollow" >尾頁(yè)</a> 
   </c:otherwise> 
  </c:choose> 
 </div> 
</body> 
</html> 

關(guān)于如何在Spring MVC中使用MyBatis與MySQL實(shí)現(xiàn)一個(gè)分頁(yè)功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章名稱:如何在SpringMVC中使用MyBatis與MySQL實(shí)現(xiàn)一個(gè)分頁(yè)功能
網(wǎng)頁(yè)鏈接:http://jinyejixie.com/article24/pggsce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、、面包屑導(dǎo)航軟件開(kāi)發(fā)、定制開(kāi)發(fā)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
旬阳县| 宣恩县| 岫岩| 东源县| 米易县| 英吉沙县| 镇沅| 沈丘县| 南康市| 搜索| 阳山县| 寿阳县| 阆中市| 芜湖县| 囊谦县| 宝清县| 巴中市| 巨鹿县| 宁都县| 客服| 阿拉善右旗| 会宁县| 蚌埠市| 罗山县| 红河县| 玛纳斯县| 乡宁县| 嫩江县| 绥滨县| 扎赉特旗| 蕲春县| 淅川县| 铁力市| 开鲁县| 云林县| 兴海县| 来宾市| 临沭县| 三江| 道孚县| 来安县|