springmvc mybatis 分页插件 pagehelper

下载地址:pagehelper 4.2.1 , jsqlparser 0.9.5

https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

参考:

http://blog.csdn.net/u012728960/article/details/50791343

http://blog.csdn.net/joker_zhou/article/details/50418005

sqlMapperConfig.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6. <settings>
  7. <setting name="logImpl" value="LOG4J" />
  8. </settings>
  9. <plugins>
  10. <!-- com.github.pagehelper为PageHelper类所在包名 -->
  11. <plugin interceptor="com.github.pagehelper.PageHelper">
  12. <!-- 4.0.0以后版本可以不设置该参数 -->
  13. <!-- property name="dialect" value="oracle"/-->
  14. <!-- 该参数默认为false -->
  15. <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
  16. <!-- 和startPage中的pageNum效果一样-->
  17. <property name="offsetAsPageNum" value="true"/>
  18. <!-- 该参数默认为false -->
  19. <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
  20. <property name="rowBoundsWithCount" value="true"/>
  21. <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
  22. <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
  23. <property name="pageSizeZero" value="true"/>
  24. <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
  25. <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
  26. <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
  27. <property name="reasonable" value="true"/>
  28. <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
  29. <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
  30. <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->
  31. <!-- 不理解该含义的前提下,不要随便复制该配置 -->
  32. <property name="params" value="pageNum=start;pageSize=limit;"/>
  33. <!-- 支持通过Mapper接口参数来传递分页参数 -->
  34. <property name="supportMethodsArguments" value="true"/>
  35. <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
  36. <property name="returnPageInfo" value="check"/>
  37. </plugin>
  38. </plugins>
  39. </configuration>

controller中

  1. @RequestMapping(value="index")
  2. public ModelAndView index( @RequestParam(required=true,defaultValue="1") Integer pageNum,
  3. @RequestParam(required=false,defaultValue="10") Integer pageSize){
  4. Map<String, Object> model = new HashMap<String, Object>();
  5. PageHelper.startPage(pageNum, pageSize);
  6.  
  7. List<City> list = cityMapper.selectAll();
  8. model.put("list", list);
  9.  
  10. PageInfo<City> p=new PageInfo<City>(list);
  11. model.put("page", p);
  12. return new ModelAndView("city/index", model);
  13. }

jsp页面

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2.  
  3. <form method="post" id="formIndex" >
  4. <input type="hidden" name="pageNum" id="pageNum" >
  5. <input type="hidden" name="pageSize" id="pageSize" >
  6. </form>
  7. <form class="navbar-form navbar-left" role="search">
  8. <div class="form-group">
  9. <select class="form-control" id="pageSizeSelect" >
  10. <option value="10" <c:if test="${page.pageSize==10}"> selected </c:if> >每页10行</option>
  11. <option value="20" <c:if test="${page.pageSize==20}"> selected </c:if> >每页20行</option>
  12. </select>
  13. </div>
  14. </form>
  15. <nav>
  16. <ul class="pagination">
  17. <c:forEach var="p" items="${page.navigatepageNums}">
  18. <li <c:if test="${page.pageNum==p}"> class="active" </c:if>><a href="javascript:void(0)" class='page'>${p }</a></li>
  19. </c:forEach>
  20. </ul>
  21. </nav>
  22. <script type="text/javascript">
  23. $(function() {
  24. $('.pagination li').click(function(){
  25. $('#pageSize').val($('#pageSizeSelect').val());
  26. $('#pageNum').val($(this).text());
  27. $('#formIndex').submit();
  28. });
  29. $('#pageSizeSelect').change(function(){
  30. $('#pageSize').val($('#pageSizeSelect').val());
  31. $('#pageNum').val($('.pagination li .active').text());
  32. $('#formIndex').submit();
  33. });
  34. });
  35. </script>

启动的时候有时会出现NullPointerException,不知道是什么原因;

也没有什么好的办法,刷新一下就好了;

springmvc mybatis 分页插件 pagehelper的更多相关文章

  1. Mybatis分页插件PageHelper的配置和使用方法

     Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...

  2. Mybatis分页插件PageHelper使用

    一. Mybatis分页插件PageHelper使用  1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...

  3. Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper

    引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...

  4. Mybatis学习---Mybatis分页插件 - PageHelper

    1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...

  5. Mybatis分页插件PageHelper的实现

    Mybatis分页插件PageHelper的实现 前言 分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为 ...

  6. 基于Mybatis分页插件PageHelper

    基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...

  7. Mybatis分页插件-PageHelper的使用

    转载:http://blog.csdn.net/u012728960/article/details/50791343 Mybatis分页插件-PageHelper的使用 怎样配置mybatis这里就 ...

  8. (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示

    http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...

  9. MyBatis 分页插件PageHelper 后台报错

    今天遇到一个问题,使用MyBatis 分页插件PageHelper 进行排序分页后,能正常返回正确的结果,但后台却一直在报错 net.sf.jsqlparser.parser.ParseExcepti ...

随机推荐

  1. BZOJ 4085 丧心病狂的毒瘤题目 线段树+矩乘

    思路: 一眼矩阵快速幂 再用线段树维护一下矩阵就完了... 我hhhhh    哎我还是too young,too simple 入了这个大坑 线段树维护9个值 以上 如果A+1   转移矩阵是这个样 ...

  2. Java多线程——线程八锁案例分析

    Java多线程——线程八锁案例分析 摘要:本文主要学习了多线程并发中的一些案例. 部分内容来自以下博客: https://blog.csdn.net/dyt443733328/article/deta ...

  3. JVM 内存分配和垃圾回收(GC)机制

    一  判断对象是否存活 垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“活着”,哪些已经"死去”,即不能再被任何途径使用的对象. 1.1 引用计数法 (Reference ...

  4. 【转】Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对HashMap进行学习.我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap.内容包括:第1部分 HashMap介绍第2部分 HashMa ...

  5. 编写第一个HTML5文件

    1.3.1  HTML文件的编写方法 编写HTML文件主要有如下3种方法: 手工直接编写 由于HTML语言编写的文件是标准的ASCII文本文件,所以我们可以使用任何的文本编辑器来打开并编写HTML文件 ...

  6. HTML CSS, JavaScript 计算器

    效果图: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  7. C# 配置文件ini操作类

    // [ DllImport ( "kernel32" ) ] //private static extern long WritePrivateProfileString ( s ...

  8. CSS (层叠样式表)

    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可以静态 ...

  9. id拼接保存到单个字段后作为表连接的查询条件

    SELECT q.id, concat(q. NAME) qname, d.id did, d. NAME FROM question_po q LEFT JOIN data_configuratio ...

  10. Python虚拟环境和requirements.txt文件的使用

    参考: https://www.centos.bz/2018/05/centos-7-4-%E5%AE%89%E8%A3%85python3%E5%8F%8A%E8%99%9A%E6%8B%9F%E7 ...