日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis pagehelper实现分页

發布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis pagehelper实现分页 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jar包的版本一定要對應,不然會出現一系列的問題

下載jar包

? <properties> ?
??????? <!-- spring版本號 --> ?
??????? <spring.version>4.0.2.RELEASE</spring.version> ?
??????? <!-- mybatis版本號 --> ?
??????? <mybatis.version>3.3.0</mybatis.version> ?
??????? <!-- log4j日志文件管理包版本 --> ?
??????? <slf4j.version>1.7.7</slf4j.version> ?
??????? <log4j.version>1.2.17</log4j.version> ?
? </properties>?

??? <!-- 分頁插件 -->
??? <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
??? <groupId>com.github.pagehelper</groupId>
??? <artifactId>pagehelper</artifactId>
??? <version>4.0.3</version>
</dependency>
<dependency>
??? <groupId>com.github.miemiedev</groupId>
??? <artifactId>mybatis-paginator</artifactId>
??? <version>1.2.17</version>
</dependency>

========================================================

配置分頁過濾器

SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 配置管理器 -->
<configuration>

?? ?<plugins>
?? ???? <plugin interceptor="com.github.pagehelper.PageHelper">
?? ???????? <!-- 4.0.0以后版本可以不設置該參數 -->
?? ???????? <property name="dialect" value="mysql"/>
?? ???????? <!-- 該參數默認為false -->
?? ???????? <!-- 設置為true時,會將RowBounds第一個參數offset當成pageNum頁碼使用 -->
?? ???????? <!-- 和startPage中的pageNum效果一樣-->
?? ???????? <property name="offsetAsPageNum" value="true"/>
?? ???????? <!-- 該參數默認為false -->
?? ???????? <!-- 設置為true時,使用RowBounds分頁會進行count查詢 -->
?? ???????? <property name="rowBoundsWithCount" value="true"/>
?? ???????? <!-- 設置為true時,如果pageSize=0或者RowBounds.limit = 0就會查詢出全部的結果 -->
?? ???????? <!-- (相當于沒有執行分頁查詢,但是返回結果仍然是Page類型)-->
?? ???????? <property name="pageSizeZero" value="true"/>
?? ???????? <!-- 3.3.0版本可用 - 分頁參數合理化,默認false禁用 -->
?? ???????? <!-- 啟用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最后一頁 -->
?? ???????? <!-- 禁用合理化時,如果pageNum<1或pageNum>pages會返回空數據 -->
?? ???????? <property name="reasonable" value="true"/>
?? ???????? <!-- 3.5.0版本可用 - 為了支持startPage(Object params)方法 -->
?? ???????? <!-- 增加了一個`params`參數來配置參數映射,用于從Map或ServletRequest中取值 -->
?? ???????? <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默認值 -->
?? ???????? <!-- 不理解該含義的前提下,不要隨便復制該配置 -->
?? ???????? <property name="params" value="pageNum=start;pageSize=limit;"/>
?? ???????? <!-- 支持通過Mapper接口參數來傳遞分頁參數 -->
?? ???????? <property name="supportMethodsArguments" value="true"/>
?? ???????? <!-- always總是返回PageInfo類型,check檢查返回類型是否為PageInfo,none返回Page -->
?? ???????? <property name="returnPageInfo" value="check"/>
?? ???? </plugin>
?? ?</plugins>
</configuration>
=================================================================

將SqlMapConfig.xml分頁過濾器配置在sqlSessionFactory模板中

?<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> ?
??? <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> ?
??????? <property name="dataSource" ref="dataSource" /> ?
??????? <!-- 自動掃描mapping.xml文件 --> ?
??????? <property name="mapperLocations" value="classpath:com/cjt/mapping/*.xml"></property>
???? <property name="configLocation" value="classpath:SqlMapConfig.xml"></property> ?
??? </bean>?

=================================================================

list列表查詢此處省略(常用的查詢list方式)

=================================================================

controller中的代碼如下:

??? @SuppressWarnings("unchecked")
?? ?@RequestMapping(value="/queryProxy", method = {RequestMethod.POST,RequestMethod.GET })
?? ?public ModelAndView queryAllProxy(Model m,ProxyBusiness proxyBusiness,HttpServletRequest request,HttpServletResponse response){
?? ??? ?String pageNum = request.getParameter("pageNum");
?? ??? ?String pageSize =request.getParameter("pageSize");
?? ??? ?int num = 1;
?? ??? ?int size = 10;
?? ??? ?if (pageNum != null && !"".equals(pageNum)) {
?? ??? ??? ?num = Integer.parseInt(pageNum);
?? ??? ?}? ?
?? ??? ?if (pageSize != null && !"".equals(pageSize)) {
?? ??? ??? ?size = Integer.parseInt(pageSize);
?? ??? ?}
?? ??? ?PageHelper.startPage(num, size);
?? ??? ?List<ProxyBusiness> ProxyBusinessList = proxyBusinessService.queryAllproxy(proxyBusiness);//list方法調用
?? ??? ?PageInfo<ProxyBusiness> pagehelper = new PageInfo<ProxyBusiness>(ProxyBusinessList);
?? ??? ?ModelAndView modelAndView = new ModelAndView();
?? ??? ?modelAndView.addObject("pagehelper", pagehelper);
?? ??? ?modelAndView.setViewName("backend/proxyBusinessList");
?? ??? ?return modelAndView;
?? ?}

使用modelAndView返回頁面

========================================================================

展示信息的jsp頁面:

<%@ 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">
<% ?
??? String path = request.getContextPath(); ?
??? String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; ?
%>
<base href="<%=basePath%>">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="<%=basePath%>css/page.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=basePath%>js/jquery-3.1.1.min.js"></script>
<title>代理商列表</title>
<script type="text/javascript">
?? ?$(document).ready(function() {
?? ?});
?? ?function queryAllPerson(pageNum, pageSize) {
?? ??? ?$("#edit_area_div").load("<%=basePath%>backend/queryProxy?pageNum=" + pageNum + "&pageSize=" + pageSize);
?? ?}
</script>

</head>
<body>
<div class="container">
?? ??? ?<div class="row clearfix">
?? ??? ??? ?<div class="col-md-12 column">
?? ??? ??? ??? ?<div id="edit_area_div">
?? ??? ??? ??? ??? ?<table class="table" id="personList_table">
?? ??? ??? ??? ??? ??? ?<thead>
?? ??? ??? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>編號</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>姓名</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>公司名稱</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>代理品牌</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>網點情況</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>希望代理區域</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>電話</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>郵箱</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>申請時間</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>代理商加盟信息</td>
?? ??? ??? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ??? ??? ?</thead>
?? ??? ??? ??? ??? ??? ?<tbody>
?? ??? ??? ??? ??? ??? ??? ?<c:forEach items="${pagehelper.list}" var="proxyBusiness"? varStatus="i">
?? ??? ??? ??? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${i.count}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.proxyName}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.companyName}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.proxyBrand}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.netInfo}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.proxyArea}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.cellPhone}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.proxyEmail}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.createTime}</td>
?? ??? ??? ??? ??? ??? ??? ??? ?<td>${proxyBusiness.proxyJoinInfo}</td>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<%-- <td><input type="text" id="id_${proxyBusiness.id }" name="id"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?value="${proxyBusiness.id }" disabled /></td>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<td><input type="text" id="name_${proxyBusiness.id }" name="name"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?value="${proxyBusiness.name }" disabled /></td>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<td><input type="text" id="age_${proxyBusiness.id }" name="age"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?value="${proxyBusiness.age }" disabled /></td>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<td><input type="text" id="birthday_${proxyBusiness.id }"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?name="birthday" class="Wdate" value="${proxyBusiness.birthdayStr}"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?disabled readOnly /></td>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<td>
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?<button id="edit_btn" οnclick="editFun('${person.id }');">編輯</button>
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?<button id="modify" οnclick="modifyFun('${person.id }');">修改</button>
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?<button id="modify" οnclick="deleteFun('${person.id }');">刪除</button>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?</td> --%>
?? ??? ??? ??? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ??? ??? ??? ?</c:forEach>
?? ??? ??? ??? ??? ??? ?</tbody>
?? ??? ??? ??? ??? ?</table>
?? ??? ??? ??? ??? ?<div id="page_div">
?? ??? ??? ??? ??? ??? ?<%@ include file="/WEB-INF/jsp/common/pagehelper.jsp"%>? //分頁的插件
?? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ?</div>
?? ??? ??? ?</div>
?? ??? ?</div>
?? ?</div>
</body>
</html>

======================================================================

分頁的插件jsp

<%@ page language="java" import="java.util.*" 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"%>
<!--?? -->
<!-- 頁數 -->
<div class="message">
?? ?共<i class="blue">${pagehelper.total}</i>條記錄,當前顯示第&nbsp;<i
?? ??? ?class="blue">${pagehelper.pageNum}/${pagehelper.pages}</i>&nbsp;頁
</div>
<div style="text-align:center;">
?? ?<ul class="pagination">
?? ??? ?<!-- <li><a href="#">&laquo;</a></li> -->
?? ??? ?<c:if test="${!pagehelper.isFirstPage}">
?? ??? ??? ?<li><a href="javascript:queryAllPerson(${pagehelper.firstPage}, ${pagehelper.pageSize});">首頁</a></li>
?? ??? ??? ?<li><a href="javascript:queryAllPerson(${pagehelper.prePage}, ${pagehelper.pageSize});">上一頁</a></li>
?? ??? ?</c:if>
?? ??? ?<c:forEach items="${pagehelper.navigatepageNums}" var="navigatepageNum">
?? ??? ?
?? ??? ??? ?<c:if test="${navigatepageNum==pagehelper.pageNum}">
?? ??? ??? ??? ?<li class="active"><a href="javascript:queryAllPerson(${navigatepageNum}, ${pagehelper.pageSize});">${navigatepageNum}</a></li>
?? ??? ??? ?</c:if>
?? ??? ??? ?<c:if test="${navigatepageNum!=pagehelper.pageNum}">
?? ??? ??? ??? ?<li><a href="javascript:queryAllPerson(${navigatepageNum}, ${pagehelper.pageSize});">${navigatepageNum}</a></li>
?? ??? ??? ?</c:if>
?? ??? ?</c:forEach>
?? ??? ?<c:if test="${!pagehelper.isLastPage}">
?? ??? ??? ?<li><a href="javascript:queryAllPerson(${pagehelper.nextPage}, ${pagehelper.pageSize});">下一頁</a></li>
?? ??? ??? ?<li><a href="javascript:queryAllPerson(${pagehelper.lastPage}, ${pagehelper.pageSize});">最后一頁</a></li>
?? ??? ?</c:if>
?? ??? ?<!-- <li><a href="#">&raquo;</a></li> -->
?? ?</ul>
</div>
============================================================================

css樣式:(用到的是bootstrap的樣式)

/*!
?* Bootstrap v3.3.5 (http://getbootstrap.com)
?* Copyright 2011-2015 Twitter, Inc.
?* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
?*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

==============================================================

效果:

?

?

總結

以上是生活随笔為你收集整理的mybatis pagehelper实现分页的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线午夜av| 久久久久国产精品夜夜夜夜夜 | av福利在线| 涩涩涩999 | 久久久久久免费毛片精品 | 中文字幕在线不卡视频 | 四虎精品在永久在线观看 | 理论片中文 | 动漫美女被x| 国产日韩久久 | 久久精品免费一区二区 | 国产一级免费在线观看 | 亚洲天堂色 | 国产精品3区 | 欧美色图11p | 亚洲精品欧美激情 | 无码人妻少妇伦在线电影 | 中文字幕在线看片 | 精品av一区二区 | 九九色网 | 97久久人人 | 日本一区二区在线观看视频 | 蜜臀99久久精品久久久久小说 | 日韩成人av毛片 | 精品无码一区二区三区的天堂 | 国产精品无码av无码 | 亚洲视频不卡 | 尤物视频一区 | 婷婷综合激情网 | a级一片 | 国产精品自拍网站 | 伊人久久中文字幕 | 自拍视频在线 | 久久久久久网址 | 日韩一级在线观看 | 欧美成人久久久 | 国产一级淫片免费 | 国产精品mm | xxxxx色| 久久精品店 | 天堂av网址| 大奶子在线 | 我的丝袜美腿尤物麻麻 | 屁屁影院国产第一页 | 精品亚洲综合 | 国产三级在线播放 | 91av一区 | 中文字幕在线观看三区 | 中文字幕免费中文 | 天天综合天天做 | 在线五月天 | 中文字幕一区二区三区四区五区 | 日日碰狠狠躁久久躁蜜桃 | 亚洲精品无码一区二区 | 国产电影免费观看高清完整版视频 | 亚洲精品美女视频 | 激情总合网| 日韩电影在线观看中文字幕 | 国产98色在线 | 日韩 | 18深夜在线观看免费视频 | 狼人综合网| 午夜久久久精品 | 3d动漫啪啪精品一区二区中文字幕 | 青青草在线观看视频 | 久久午夜夜伦鲁鲁一区二区 | 美国黄色一级大片 | 亚洲红桃视频 | 亚洲激情社区 | 99成人精品 | 午夜影视福利 | 欧美性区| 国内自拍xxxx18 | 99热精品久久 | 色婷婷av一区二区三区麻豆综合 | 在线aa | 性色欲网站人妻丰满中文久久不卡 | 99情趣网| 亚洲熟妇一区二区 | 国产午夜av | 影音先锋蜜桃 | 丁香婷婷在线观看 | jul023被夫上司连续侵犯 | 朝桐光在线观看 | 国产欧美日 | 黄色片网站免费在线观看 | 久久久噜噜噜www成人 | a毛片在线观看 | 青青草原国产在线 | 松本一香在线播放 | 国产精品久久久久久久久久久久久久久久 | 黄色三级国产 | 日日艹 | 亚洲午夜精品一区二区 | 国产剧情一区二区 | 波多野结衣免费观看视频 | 国产一区二区小视频 | 成人国产精品入口免费视频 | 午夜激情在线观看视频 | 中文字幕在线看片 |