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

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

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

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

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

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

<property name="plugins">

<array>

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

<property name="properties">

<value>

dialect=mysql

reasonable=true

</value>

</property>

</bean>

</array>

</property>

</bean>

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

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

select

<include refid="Base_Column_List" />

from user_t

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

return this.userDao.selectByList();

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

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

PageHelper.startPage(page, 3);

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

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

model.addAttribute("page", p);

model.addAttribute("userList",userList);

return "showUser";

}

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

    //当前页

private int pageNum;

//每页的数量

private int pageSize;

//当前页的数量

private int size;

//排序

private String orderBy;

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

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

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

private int startRow;

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

private int endRow;

//总记录数

private long total;

//总页数

private int pages;

//结果集

private List<T> list;

//第一页

private int firstPage;

//前一页

private int prePage;

//下一页

private int nextPage;

//最后一页

private int lastPage;

//是否为第一页

private boolean isFirstPage = false;

//是否为最后一页

private boolean isLastPage = false;

//是否有前一页

private boolean hasPreviousPage = false;

//是否有下一页

private boolean hasNextPage = false;

//导航页码数

private int navigatePages;

//所有导航页号

private int[] navigatepageNums;

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

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

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

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

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

<center>

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

<tr>

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

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

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

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

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

</tr>

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

<tr>

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

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

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

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

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

</tr>

</c:forEach>

</table>

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

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

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

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

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

</center>

</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. [Array]628. Maximum Product of Three Numbers

    Given an integer array, find three numbers whose product is maximum and output the maximum product. ...

  2. 移动端页面输入法挡住input输入框的解决方法

    1,宽高用了百分比或者vw/vh布局的,input输入框的最外层父容器的可用JS动态设置为当前窗口的宽高(防止输入法的弹出令页面变形) 2,最外层父容器用了fixed定位的,不要用top:0;要用bo ...

  3. dp入门 hdu2059 龟兔赛跑

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  4. Web基础了解版06-Jsp

    Jsp Jsp全称Java Server Pages,也就是在我们JavaWeb中的动态页面. Jsp能够以HTML页面的方式呈现数据,是一个可以嵌入Java代码的HTML. Jsp其本质就是一个Se ...

  5. Linux安装Desktop 和 vncserver

    sudo su - #使用 root 账户 yum grouplist #查看所有可用的group yum groupinstall GNOME Desktop #安装 GNOME 桌面 yum -y ...

  6. redis缓存使用详解

    mysql数据库是存在磁盘中的,操作是对于磁盘操作,这样访问量和并发很大时,运行速率就取决于磁盘的容量,带宽的大小和读取的方式,也就是 sql 语句,次数和效率也会影响读取效率.当访问量和并发很大的时 ...

  7. canvas旋转图片

    canvas旋转图片 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  8. 2019.8.10 NOIP模拟测试16 反思总结【基本更新完毕忽视咕咕咕】

    一如既往先放代码,我还没开始改… 改完T1滚过来了,先把T1T2的题解写了[颓博客啊] 今天下午就要走了,没想到还有送行的饯别礼,真是欣喜万分[并没有] 早上刚码完前面的总结,带着不怎么有希望的心情开 ...

  9. 2019.7.29 NOIP模拟测试10 反思总结【T2补全】

    这次意外考得不错…但是并没有太多厉害的地方,因为我只是打满了暴力[还没去推T3] 第一题折腾了一个小时,看了看时间先去写第二题了.第二题尝试了半天还是只写了三十分的暴力,然后看到第三题是期望,本能排斥 ...

  10. IIS 配置问题

    1 IIS错误需要重新运行配置 重新注册.netframework. 解决方式:cmd   C:\Windows\Microsoft.NET\Framework\v4.0.30319 aspnet_r ...