PageHelper插件實(shí)現(xiàn)服務(wù)器端分頁(yè)功能
本文實(shí)例為大家分享了PageHelper插件實(shí)現(xiàn)服務(wù)器端分頁(yè)功能,供大家參考,具體內(nèi)容如下
一、添加依賴
在.pom文件中添加
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.5.1</version> </dependency>
二、添加配置/strong>
在spring-mybaits.xml文件中添加插件
<!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 自動(dòng)掃描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:mapping/*.xml"></property>
<!--分頁(yè)插件-->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
dialect=mysql
reasonable=true
</value>
</property>
</bean>
</array>
</property>
<!--分頁(yè)-->
</bean>
三、controller代碼
//分頁(yè)展示用戶
@RequestMapping(value = "/user.do")
public ModelAndView test1(HttpServletRequest request, HttpServletResponse response, ModelMap mode) throws Exception {
ModelAndView modelAndView = new ModelAndView();
int pageNumber = 1;
try{
if(request.getParameter("pageNow").equals(null)){
System.out.println("參數(shù)空");
}else {
pageNumber = Integer.parseInt(request.getParameter("pageNow"));
}
}catch (Exception e){
//處理空針錯(cuò)誤
}
System.out.println("請(qǐng)求參數(shù)"+request.getParameter("pageNow"));
PageInfo<user> pageInfo = userService.selectUserByPage(pageNumber,5);
// Map<String, Object> map = new HashMap<String, Object>();
// List<Object> data = new ArrayList<Object>();
// for(user admin : pageInfo.getList()){
// Map<String, Object> obj = new HashMap<String, Object>();
// obj.put("id", admin.getId());
// obj.put("username", admin.getUsername());
// obj.put("password", admin.getPassword());
// obj.put("enable", admin.getEnable());
// obj.put("id_card", admin.getIdCard());
// obj.put("phone", admin.getPhone());
// obj.put("address", admin.getAddress());
// obj.put("nick_name", admin.getAddress());
// data.add(obj);
// }
modelAndView.addObject("pageInfo",pageInfo); //jsp 根據(jù)users來傳遞信息
System.out.println("成功啦");
modelAndView.setViewName("/test/user");
return modelAndView;
}
四、Service方法
//分頁(yè)獲取用戶信息
public PageInfo<User> selectUserByPage(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
// 所有用戶信息
List<User> authAdmins = userMapper.selectUsers();
if(authAdmins == null){
return null;
}
PageInfo<User> pageInfo = new PageInfo<User>(authAdmins);
return pageInfo;
}
五、jsp顯示
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2017/12/2 0002
Time: 11:10
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>user</title>
</head>
<body>
<h1>User</h1>
<table>
<c:forEach items="${pageInfo.list}" var="u">
<%--屬性值映射mapper 中的property--%>
<tr>
<td>${u.id}</td>
<td>${u.username}</td>
<td>${u.password}</td>
<td>${u.enable}</td>
<td>${u.idCard}</td>
<td>${u.phone}</td>
<td>${u.address}</td>
<td>${u.nickName}</td>
</tr>
</c:forEach>
<tr>
<td colspan="6">
<!-- 分頁(yè)功能 start -->
<div align="center">
<font size="2">共 ${pageInfo.pageSize} 頁(yè)</font> <font size="2">第
${pageInfo.pageNum} 頁(yè)</font> <a href="${pageContext.request.contextPath}/user.do?pageNow=1" rel="external nofollow" rel="external nofollow" >首頁(yè)</a>
<c:choose>
<c:when test="${pageInfo.pageNum - 1 > 0}">
<a href="${pageContext.request.contextPath}/user.do?pageNow=${pageInfo.pageNum - 1}" rel="external nofollow" >上一頁(yè)</a>
</c:when>
<c:when test="${pageInfo.pageNum - 1 <= 0}">
<a href="${pageContext.request.contextPath}/user.do?pageNow=1" rel="external nofollow" rel="external nofollow" >上一頁(yè)</a>
</c:when>
</c:choose>
<%--pageSize共 頁(yè)--%>
<%--pageNum 第 頁(yè)--%>
<%--pagetotal 共 條--%>
<c:choose>
<c:when test="${pageInfo.pageSize==0}">
<a href="${pageContext.request.contextPath}/user.do?pageNow=${pageInfo.pageNum}" rel="external nofollow" >下一頁(yè)</a>
</c:when>
<c:when test="${pageInfo.pageNum + 1 < pageInfo.pageSize}">
<a href="${pageContext.request.contextPath}/user.do?pageNow=${pageInfo.pageNum + 1}" rel="external nofollow" >下一頁(yè)</a>
</c:when>
<c:when test="${pageInfo.pageNum + 1 >= pageInfo.pageSize}">
<a href="${pageContext.request.contextPath}/user.do?pageNow=${pageInfo.pageSize}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >下一頁(yè)</a>
</c:when>
</c:choose>
<c:choose>
<c:when test="${pageInfo.pageSize==0}">
<a href="${pageContext.request.contextPath}/user.do?pageNow=${pageInfo.pageSize}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >尾頁(yè)</a>
</c:when>
<c:otherwise>
<a href="${pageContext.request.contextPath}/user.do?pageNow=${pageInfo.pageSize}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >尾頁(yè)</a>
</c:otherwise>
</c:choose>
</div>
<!-- 分頁(yè)功能 End -->
</td>
</tr>
<%--<tr>--%>
<%--<td>${data.username}</td>--%>
<%--<td>${data.password}</td>--%>
<%--</tr>--%>
</table>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Mybatis分頁(yè)插件PageHelper的使用詳解
- SpringMvc+Mybatis+Pagehelper分頁(yè)詳解
- mybatis分頁(yè)插件pageHelper詳解及簡(jiǎn)單實(shí)例
- Springboot整合pagehelper分頁(yè)功能
- Spring Boot+Mybatis+Druid+PageHelper實(shí)現(xiàn)多數(shù)據(jù)源并分頁(yè)的方法
- Mybatis分頁(yè)插件PageHelper的配置和簡(jiǎn)單使用方法(推薦)
- SpringBoot集成MyBatis的分頁(yè)插件PageHelper實(shí)例代碼
- PageHelper插件實(shí)現(xiàn)一對(duì)多查詢時(shí)的分頁(yè)問題
- mybatis使用pageHelper插件進(jìn)行查詢分頁(yè)
- mybatis插件pageHelper實(shí)現(xiàn)分頁(yè)效果
相關(guān)文章
java實(shí)現(xiàn)微信支付(服務(wù)端)
這篇文章主要介紹了java實(shí)現(xiàn)微信支付,針對(duì)服務(wù)端進(jìn)行代碼編寫,感興趣的小伙伴們可以參考一下2015-12-12
Spring-AOP 靜態(tài)正則表達(dá)式方法如何匹配切面
這篇文章主要介紹了Spring-AOP 靜態(tài)正則表達(dá)式方法如何匹配切面的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
解決Spring事務(wù)@Transactional多層嵌套失效問題
在使用Spring進(jìn)行事務(wù)管理時(shí),可能會(huì)遇到事務(wù)失效的問題,主要原因包括數(shù)據(jù)庫(kù)不支持事務(wù)、方法訪問級(jí)別不是public、未被Spring管理的Bean、當(dāng)前類的方法內(nèi)部調(diào)用以及配置的事務(wù)傳播性不當(dāng)?shù)?解決事務(wù)失效的方法有使用聲明式事務(wù)處理采用合適的事務(wù)傳播行為2024-11-11
Java實(shí)現(xiàn)字符串與字節(jié)數(shù)組之間相互轉(zhuǎn)換
在Java編程中,字符串(String)和字節(jié)數(shù)組(byte[])之間的相互轉(zhuǎn)換是非常常見的操作,這種轉(zhuǎn)換在網(wǎng)絡(luò)編程、文件處理、加密解密等場(chǎng)景中尤為重要,本文將詳細(xì)介紹如何在Java中實(shí)現(xiàn)字符串與字節(jié)數(shù)組之間的相互轉(zhuǎn)換,需要的朋友可以參考下2025-02-02
Java Scaner類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Java.util.Scanner是Java5.0的新特征,主要功能是簡(jiǎn)化文本掃描。下面通過本文給大家分享java scaner類相關(guān)知識(shí),需要的朋友下吧2017-04-04
Java并發(fā)編程中使用Executors類創(chuàng)建和管理線程的用法
這篇文章主要介紹了Java并發(fā)編程中使用Executors類創(chuàng)建和管理線程的用法,文中舉了用其啟動(dòng)線程和設(shè)置線程優(yōu)先級(jí)的例子,需要的朋友可以參考下2016-03-03
SpringBoot使用Nacos進(jìn)行application.yml配置管理
Nacos是阿里巴巴開源的一個(gè)微服務(wù)配置管理和服務(wù)發(fā)現(xiàn)的解決方案,它提供了動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和?服務(wù)管理平臺(tái),Nacos使用Raft協(xié)議保證配置的一致性,同時(shí)支持多種配置?格式,如properties、yaml等,本文介紹了SpringBoot使用Nacos進(jìn)行application.yml配置管理2024-12-12
mybatis的dtd約束文件及配置文件xml自動(dòng)提示操作
這篇文章主要介紹了mybatis的dtd約束文件及配置文件xml自動(dòng)提示操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12

