1,在pom.xml中注入分页的配置

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.0</version>
</dependency>

2,定义公共实体类,包含页码,页尺寸

import java.io.Serializable;

import com.github.pagehelper.PageHelper;

public abstract class AbstractPageForm<T extends AbstractPageForm<T>> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
* @Description 页码为首页
*/
protected int pageNum = 1; /**
* @Description 每页显示数量,默认为5
*/
protected int pageSize = 10; public int getPageNum() {
return pageNum;
} public void setPageNum(int pageNum) {
this.pageNum = pageNum;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} /**
* @Title enablePaging
* @Description 启用分页
* @return
*/
@SuppressWarnings("unchecked")
public final T enablePaging() {
PageHelper.startPage(pageNum, pageSize);
return (T) this;
} }
import java.util.Properties;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import com.github.pagehelper.PageHelper; @Configuration
public class PageBean{
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}

3,定义分页查询条件的VO,要继承AbstractPageForm注意<>中要与继承类保持一致

import com.ulic.gis.util.paging.AbstractPageForm;

public class RolePageVO extends AbstractPageForm<RolePageVO>{

    private static final long serialVersionUID = 1L;
private String roleName; public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
} }

4,controller层的关键分页代码

    @RequestMapping(value="/findAllRole")
public ModelAndView findAllRole(HttpServletRequest request,HttpServletResponse response,@ModelAttribute RolePageVO rolePageVO){
ModelAndView mav = new ModelAndView(); log.info("rolePageVO:{}",JSONUtils.object2json(rolePageVO)); PageHelper.startPage(rolePageVO.getPageNum(), rolePageVO.getPageSize());
List<RoleVO> roleList = roleManageService.getRoleByparam(rolePageVO);
PageInfo<RoleVO> rolePageList = new PageInfo<>(roleList); mav.addObject("roleList", rolePageList);
mav.addObject("rolePageVO",rolePageVO);
mav.setViewName("/authorityManage/roleInfoList");
return mav;
}

此处需要注意,上面粉红色查询代码必须放在两行红色代码之间,且只能有一条查询语句。如果出现多条查询语句,则只给第一条查询语句分页。

5,jsp页面中通过下面的方式去除分页数据

PageInfo<RoleVO> info = (PageInfo<RoleVO>)request.getAttribute("roleList");
List<RoleVO> roleList = info.getList(); //分页数据
RolePageVO conditionVo = (RolePageVO)request.getAttribute("rolePageVO");//参数

最新文章

  1. linux ssh远程免登陆
  2. sql server 导出表结构到 word
  3. visio个人专注
  4. C# List集合Group by查询
  5. redis 学习笔记(3)-master/slave(主/从模式)
  6. 利用Spring MVC搭建REST Service
  7. Wb应用程序开放原理
  8. hdu 1045 Fire Net(最小覆盖点+构图(缩点))
  9. RGPJS 教程之八 创造场景
  10. Spring的IOC
  11. php 特别的函数
  12. NPOI 2.0 教程
  13. Docker三十分钟快速入门(下)
  14. activiti节点跳转
  15. MyBatis主键生成器KeyGenerator(一)
  16. Maven下载与环境变量配置
  17. BEAM188简单应用
  18. GIS中空间数据和非空间数据
  19. left join 右表数据不唯一的情况解决方法
  20. CentOS 安装 Gitlab

热门文章

  1. js同步和异步
  2. 解决 vue 使用 element 时报错ERROR in ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf
  3. go爬虫之爬取豆瓣电影
  4. 将TensorFlow训练好的模型迁移到Android APP上(TensorFlowLite)
  5. Java中的集合(上):概述、Collection集合、List集合及其子类
  6. Hdu 6598 Harmonious Army 最小割
  7. js动画fireworks烟花
  8. idea目录因包名而未合并、逐级显示的问题
  9. SqlMetaData异常 dbType xx 对于此构造函数无效。
  10. P5025 [SNOI2017]炸弹 题解