PageHelper实现Mybatis的插件分页(SSM+maven+jsp)

PageHelper是Mybatis的一个插件,可以比较智能化的实现分页,把参数都封装到PageInfo中,我们实现分页,首先应该了解PageInfo参数说明,PageInfo参数如下:

//当前页
    private int pageNum;
 
    //每页的数量
    private int pageSize;
 
    //当前页的数量
    private int size;
 
    //由于startRow和endRow不常用,这里说个具体的用法
    //可以在页面中"显示startRow到endRow 共size条数据"
    //当前页面第一个元素在数据库中的行号
    private int startRow;
 
    //当前页面最后一个元素在数据库中的行号
    private int endRow;
    //总记录数
    private long total;
 
    //总页数
    private int pages;
 
    //结果集(每页显示的数据)
    private List list;
 
    //第一页
    private int firstPage;
 
    //前一页
    private int prePage;
 
    //是否为第一页
    private boolean isFirstPage = false;
 
    //是否为最后一页
    private boolean isLastPage = false;
 
    //是否有前一页
    private boolean hasPreviousPage = false;
 
    //是否有下一页
    private boolean hasNextPage = false;
 
    //导航页码数
    private int navigatePages;
 
    //所有导航页号
    private int[] navigatepageNums;

我用的是maven+jsp+ssm实现这个分页。其中包括中间所出的问题
1,我们先导入依赖
pom.xml


      com.github.pagehelper
      pagehelper
      5.1.1
    

2,在配置SqlSessionFactory的里边添加如下代码,如果不添加这个会出现PageInfo的数据不正确,比如总数应该是20条,但是它只显示当前页面的条数。


        
        
        
        
        
        
        
        
		**//添加这个plugins属性值**
        
            
                
                    
                        
                        
                        
                    
                
            
        
    

3,后台代码展示(如果PageHelper.startPage(pageNum, pageSize)后边除了如下所示展示所有信息这一个逻辑之外,还有另外的逻辑代码,则PageHelper分页失败,PaheInfo中参数会乱

	

@ResponseBody    @RequestMapping("/list")    public ModelAndView list(@RequestParam(value = "pageNum",defaultValue = "1")int pageNum,
                            @RequestParam(value = "pageSize",defaultValue = "8")int pageSize,
                            Map map){
       PageHelper.startPage(pageNum, pageSize);
       List orderDescList = managerOrderService.findAllList();
       PageInfo pageInfo = new PageInfo<>(orderDescList);
       map.put("pageInfo",pageInfo);
       map.put("pageNum",pageNum);
       map.put("size",pageSize);
       return new ModelAndView("manage/manageOrderList",map);    }

4,JSP页面展示,用的bootstrap的模板

第${pageInfo.pageNum}页,共${pageInfo.pages}页,共${pageInfo.total}条记录

这是测试的时候后台传过来的数据,PageInfo的所有信息
PageHelper实现Mybatis的插件分页(SSM+maven+jsp)_第1张图片
测试结果如下PageHelper实现Mybatis的插件分页(SSM+maven+jsp)_第2张图片这就是PageHelper实现分页,请大家看准那几个问题,我也总结的不太全,总共遇见这几个问题,如果又补充或者错误,希望各位提出宝贵意见!

你可能感兴趣的:(web)