ssm 實現分頁效果 PageHelper插件


本文地址 :https://blog.csdn.net/qq_40791070/article/details/89227891

項目配置

maven 依賴

	<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.1.2</version>
		</dependency>

第一種配置方法 spring-dao.xml

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 配置XML映射文件的位置 -->
		<property name="mapperLocations" 
			value="classpath:mappers/*.xml" />
		<!-- 配置數據源 -->
		<property name="dataSource"
			ref="dataSource" />
				<!-- 分頁插件配置 -->
		<property name="plugins">
			<array>
				<bean class="com.github.pagehelper.PageInterceptor">
					<property name="properties">
						<value>
						helperDialect=mysql
						reasonable=true
						</value>
					</property>
				</bean>
			</array>
		</property>
	</bean>

第二種配置方法 mybatis-comfig.xml

<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<property value="mysql" name="dialect"/>
<property value="false" name="offsetAsPageNum"/>
<property value="false" name="rowBoundsWithCount"/>
<property value="true" name="pageSizeZero"/>
<property value="false" name="reasonable"/>
<property value="false" name="supportMethodsArguments"/>
<property value="none" name="returnPageInfo"/>
</plugin>
</plugins>
兩種方法按照你配的ssm框架進行採用,不同的配置方法,基本上以上兩種方法的分頁插件都可以適用

控制層 control

            Page<Client> page = PageHelper.startPage(cpage, 6);
			List<Client> list=sysanalysisServiceimpl.GetSumOfQuarter();
			listofQuarter = new PageInfo<Client>(list);

1.但調用ModelAndView(視圖)時 ,cpage=1;Client 爲對象
2. 當後臺傳參,跳轉到第幾頁時時;
Integer cpage=Integer.parseInt(request.getParameter("cpage"));

補充 jsp 頁面上下分頁按鈕

在這裏插入圖片描述

<div class="itab">
					<ul>
						<li><a href="#">總頁數:<b id="pages" value="">${pageInfo.pages }</b>頁
						</a></li>
						<li><a href="#">總記錄:<b id="total" value="">${pageInfo.total }</b>條
						</a></li>
						<li style="width: 120px;"><a href="#">位置:&nbsp;<b
								id="span1" value="">${pageInfo.pageNum }</b>/<b id="span2"
								value="">${pageInfo.pages}</b>頁
						</a></li>
						<li style="width: 80px;"></li>
						<li><input type="button" "Jump(0)" value="首頁"
							style="width: 50px; height: 35px;" /></li>
						<li style="width: 40px;"></li>
						<li><input type="button" "Jump(1)" value="上一頁"
							style="width: 50px; height: 35px;" /></li>
						<li style="width: 40px;"></li>
						<li><input type="button" "Jump(2)" value="下一頁"
							style="width: 50px; height: 35px;" /></li>
						<li style="width: 40px;"></li>
						<li><input type="button" "Jump(3)" value="末頁"
							style="width: 50px; height: 35px;" /></li>
						<li style="width: 80px; background-color: white;"></li>
						<li><input type="text" name="choice" id="choice" value=""
							style="width: 60px; height: 32px; border-color: gold;" /> <input
							type="button" "Jump(4)" value="跳轉"
							style="width: 50px; height: 35px;" /></li>
					</ul>
				</div>

js獲取頁數

           var pageNum = $("#span1").html();
			var pages = $("#pages").html();
		    pageNum=PageOfResult(id,pages,choice,pageNum);

封裝js方法

1.可多次直接調用;pageNum=PageOfResult(id,pages,choice,pageNum);
2. id 爲0 ,1,2,3, 4 分別表示跳轉到首頁,上一頁,下一頁,尾頁 ,指定頁數

function PageOfResult(id,pages,choice,pageNum){
	    pageNum=parseInt(pageNum);
		pages=parseInt(pages);
	   switch (id){
	      case 0:     
	          if(pageNum!=1) {
	              pageNum = 1;
	          }else{
	        	  alert("已是首頁!");
	              return false;
	          }
	          break;
	      case 1:
	          if(pageNum>1){
	              pageNum=parseInt(pageNum)-1;
	          }
	          else {
	        	  alert("已是首頁!");
	              return false;
	          }
	          break;
	      case 2:
	          if(pageNum<pages){
	              pageNum=parseInt(pageNum)+1;
	          }
	          else {
	        	  alert("已是尾頁!");
	              return false;
	          }
	          break;
	      case 3:
	          if(pageNum!=pages){
	              pageNum=pages;
	          }
	          else {
	        	  alert("已是尾頁!");
	              return false;
	          }
	          break;
	      case 4:
	          if(choice !=""){
	              if(choice>=1 && parseInt(choice)<=parseInt(pages)){
	            	  if( pageNum==choice){
	            		  return false;
	            	  }
	                  pageNum=choice;
	              }
	              else{
	            	  alert("該頁數不存在!");
	                  return false;
	              }
	          }else {
	              return false;
	          }
	          break;
	  }
	   return pageNum;
  }

發佈了15 篇原創文章 · 獲贊 4 · 訪問量 2150
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章