1. 把插件jar包导入项目(具体上篇有介绍http://blog.csdn.net/qq_33624284/article/details/72821811
  2. spring-mybatis.xml文件中配置
  1. <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->

  2. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

  3. <property name="dataSource" ref="dataSource" />

  4. <!-- 自动扫描mapping.xml文件 -->

  5. <property name="mapperLocations" value="classpath:com/wl/goldatg/mapping/*.xml"></property>

  6. <!-- 配置分页插件 -->

  7. <property name="plugins">

  8. <array>

  9. <bean class="com.github.pagehelper.PageHelper">

  10. <property name="properties">

  11. <value>

  12. dialect=mysql

  13. reasonable=true

  14. </value>

  15. </property>

  16. </bean>

  17. </array>

  18. </property>

  19. </bean>

## 下面我们就可以使用 ##

  • 新建sql语句,返回list结果集
  1. <select id="selectByList" resultMap="BaseResultMap">

  2. select

  3. <include refid="Base_Column_List" />

  4. from user_t

  5. </select>
  • service层
  1. public List<User> selectByList() {

  2. return this.userDao.selectByList();

  3. }
  • Controller类
  1. @RequestMapping("/userList")
  2. public String userList(@RequestParam(required=true,defaultValue="1") Integer page,HttpServletRequest request,Model model){

  3. //PageHelper.startPage(page, pageSize);这段代码表示,程序开始分页了,page默认值是1,pageSize默认是10,意思是从第1页开始,每页显示10条记录。

  4. PageHelper.startPage(page, 3);

  5. List<User> userList = userService.selectByList();

  6. PageInfo<User> p=new PageInfo<User>(userList);

  7. model.addAttribute("page", p);

  8. model.addAttribute("userList",userList);

  9. return "showUser";

  10. }

PageInfo这个类是插件里的类,非常方便的调用,分页再次提高性能:

  1. //当前页

  2. private int pageNum;

  3. //每页的数量

  4. private int pageSize;

  5. //当前页的数量

  6. private int size;

  7. //排序

  8. private String orderBy;

  9. //由于startRow和endRow不常用,这里说个具体的用法

  10. //可以在页面中"显示startRow到endRow 共size条数据"

  11. //当前页面第一个元素在数据库中的行号

  12. private int startRow;

  13. //当前页面最后一个元素在数据库中的行号

  14. private int endRow;

  15. //总记录数

  16. private long total;

  17. //总页数

  18. private int pages;

  19. //结果集

  20. private List<T> list;

  21. //第一页

  22. private int firstPage;

  23. //前一页

  24. private int prePage;

  25. //下一页

  26. private int nextPage;

  27. //最后一页

  28. private int lastPage;

  29. //是否为第一页

  30. private boolean isFirstPage = false;

  31. //是否为最后一页

  32. private boolean isLastPage = false;

  33. //是否有前一页

  34. private boolean hasPreviousPage = false;

  35. //是否有下一页

  36. private boolean hasNextPage = false;

  37. //导航页码数

  38. private int navigatePages;

  39. //所有导航页号

  40. private int[] navigatepageNums;

使用PageInfo这个类,你需要将查询出来的list放进去:

  1. List<User> userList = userService.selectByList();

  2. PageInfo<User> p=new PageInfo<User>(userList);

页面使用非常方便,直接贴代码:

  1. 控制层
  1. model.addAttribute("page", p);
  1. 前台页面
  1. <body>

  2. <center>

  3. <table width="200" border="1">

  4. <tr>

  5. <th scope="col">序号</th>

  6. <th scope="col">ID</th>

  7. <th scope="col">姓名</th>

  8. <th scope="col">密码</th>

  9. <th scope="col">年龄</th>

  10. </tr>

  11. <c:forEach begin="0" step="1" items="${userList}" var="list" varStatus="userlist">

  12. <tr>

  13. <td>${userlist.count}</td>

  14. <td>${list.id}</td>

  15. <td>${list.userName}</td>

  16. <td>${list.password}</td>

  17. <td>${list.age}</td>

  18. </tr>

  19. </c:forEach>

  20. </table>

  21. <p>一共${page.pages}页</p>

  22. <a href="userList?page=${page.firstPage}">第一页</a>

  23. <a href="userList?page=${page.nextPage}">下一页</a>

  24. <a href="userList?page=${page.prePage}">上一页</a>

  25. <a href="userList?page=${page.lastPage}">最后页</a>

  26. </center>

  27. </body>

最后结果显示:(关键点${page.prePage}简单又快捷)

前台需要传入的参数是当前页和页面显示数目,当然页面显示数目也可以后台规定,一般在接收参数时最好加上默认配置如下:
```java
@RequestParam(defaultValue="1",value="pageNum")String pageNum, @RequestParam(defaultValue="10",value="pageSize")String pageSize
```

关于Spring+mybatis+PageHelper分页插件PageHelper的使用策略的更多相关文章

  1. Mybatis的分页插件PageHelper

    Mybatis的分页插件PageHelper 项目地址:http://git.oschina.net/free/Mybatis_PageHelper  文档地址:http://git.oschina. ...

  2. SpringBoot集成MyBatis的分页插件 PageHelper

    首先说说MyBatis框架的PageHelper插件吧,它是一个非常好用的分页插件,通常我们的项目中如果集成了MyBatis的话,几乎都会用到它,因为分页的业务逻辑说复杂也不复杂,但是有插件我们何乐而 ...

  3. Spring Boot系列教程八: Mybatis使用分页插件PageHelper

    一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp ...

  4. Spring Boot系列教程十一: Mybatis使用分页插件PageHelper

    一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp ...

  5. Mybatis之分页插件pagehelper的简单使用

    最近从家里回来之后一直在想着减肥的事情,一个月都没更新博客了,今天下午没睡午觉就想着把mybatis的分页插件了解一下,由于上个月重新恢复了系统,之前创建的项目都没了,又重新创建了一个项目. 一.创建 ...

  6. 学习Spring Boot:(八)Mybatis使用分页插件PageHelper

    首先Mybqtis可以通过SQL 的方式实现分页很简单,只要在查询SQL 后面加上limit #{currIndex} , #{pageSize}就可以了. 本文主要介绍使用拦截器的方式实现分页. 实 ...

  7. 理解 Mybatis的分页插件 PageHelper

    Mybatis + SpringMVC + Maven实现分页查询 (推荐采用的插件是PageHelper) 先看一下之前的这篇博客,这里推荐了 Mybatis 的分页方法. 按照上面的方法设置后,确 ...

  8. Mybatis的分页插件PageHelper分页失效的原因

    引用博客:个人博客地址:https://alexaccele.github.io/ PageHelper是Mybatis的一个很好的分页插件,但要使用它的分页功能需要注意一下几点 1.导入相关包,例如 ...

  9. Mybatis 的分页插件 PageHelper

    我用的版本是PageHelper-4.1.1.Mybatis-3.3.0 PageHelper 依赖于 jsqlparser-0.9.4.jar   使用方法: 1.根据Mybatis的版本下载对应版 ...

随机推荐

  1. linux 调整系统时区

    查看当前时间: date 查看当天详细时区 timedatectl 调整为正确时区 timedatectl set-timezone 'Asia/Shanghai'

  2. SQLite in Python: 如何在Python中使用SQLite数据库

    SQLite3 可使用 sqlite3 模块与 Python 进行集成.sqlite3 模块是由 Gerhard Haring 编写的.它提供了一个与 PEP 249 描述的 DB-API 2.0 规 ...

  3. ucore os 初始化

    从bootloader 交出控制权开始 bootloader 最后调用 ((void(*))(void) ()ELF->e_entry& 0xffffff)() ; lab2 虽然e_e ...

  4. 【洛谷】P1427 小鱼的猜数游戏

    P1427 小鱼的数字游戏 题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0 ...

  5. 杨柳絮-Info:菏泽多措并举治理杨柳絮 5年内实现“有絮不成灾”

    ylbtech-杨柳絮-Info:菏泽多措并举治理杨柳絮 5年内实现“有絮不成灾” 1.返回顶部 1. 菏泽多措并举治理杨柳絮 5年内实现“有絮不成灾” 2019年04月09日 11:44  来源:大 ...

  6. channel补充

    网易: package main import ( "fmt" ) func main() { var c chan int fmt.Printf("c=%v\n&quo ...

  7. SpingBoot myBatis neo4j整合项目案例

    此项目为spring boot - myBatis - neo4j数据库整合项目. 有增删改查(节点关系).动态分页条件排序等一些示例. git下载地址:git clone https://githu ...

  8. DirectX11笔记(三)--Direct3D初始化代码

    原文:DirectX11笔记(三)--Direct3D初始化代码 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article ...

  9. PHP正则表达式判断身份

    //身份证验证 $id_card = ''; $preg_card="/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d ...

  10. Element UI table组件源码分析

    本文章从如下图所示的最基本的table入手,分析table组件源代码.本人已经对table组件原来的源码进行削减,源码点击这里下载.本文只对重要的代码片段进行讲解,推荐下载代码把项目运行起来,跟着文章 ...