PageHelper分页插件配合bootstrap和easyui的使用

我这两种方式都是介绍的后端分页也就是每次点击上一页下一页都会发送请求到后端进行分页查询,这样的话对于大数据量的话效率不会低,前台分页的话就是把所有数据查到给前端,用前端插件进行分页,只请求一次,就不用写pageHelper那些了,直接给前台返回List<实体>就可以了,然后把前台插件,改成client就可以了.如下图是bootstrap前台分页

PageHelper分页插件配合bootstrap和easyui的使用_第1张图片

首先得在mybatis里配置pagehelper的插件

PageHelper分页插件配合bootstrap和easyui的使用_第2张图片



    
    
    

PageHelper分页插件配合bootstrap和easyui的使用_第3张图片

PageHelper分页插件配合bootstrap和easyui的使用_第4张图片

配合bootstrap的使用,后台分页

导入jar包


    com.github.pagehelper
    pagehelper
    5.1.1

 前台代码,需要导入bootstrap相应的文件,下载地址可以看完关于bootstrap的博客,下面是初始化bootstrap表格的代码

<%--
  Created by IntelliJ IDEA.
  User: liulx
  Date: 2018/9/3
  Time: 9:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>



    
    
    

    
    
    
    展示用户信息!



 

controller接收的时候我自己封装了一个实体类

package com.bgs.pojo;

public class BootTableParam {
    private String sort;//排序的字段名 id
    private String order;//排序的方式:desc|asc
    private Integer offset;//偏移量,从第几条数据开始显示:0
    private Integer limit;//一页显示的条数:5

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public String getOrder() {
        return order;
    }

    public void setOrder(String order) {
        this.order = order;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }
}

 

//后台分页
@RequestMapping("/findAllUser")
@ResponseBody
public BootStrapResult findAllUser(BootTableParam bootTableParam) {
    BootStrapResult allUser = witkeyUserService.findAllUser(bootTableParam);
    return allUser;
}

service分页代码,因为bootstrap传入后台参数跟easyui不同所以这用的pageHelper这个方法来分页查询,只要把向数据查询的方法插入那两句中间,它就会自动变成分页来查询了,sql语句直接查询所有就可以了.

 

@Override
public BootStrapResult findAllUser(BootTableParam bootTableParam) {
    PageHelper.offsetPage(bootTableParam.getOffset(),bootTableParam.getLimit()); //从第几个开始查  一页查几个
    List allUser = witkeyUserMapper.findAllUser(bootTableParam.getSort(),bootTableParam.getOrder());
    PageInfo info = new PageInfo<>(allUser);

    BootStrapResult result = new BootStrapResult();
    result.setRows(info.getList());
    result.setTotal(info.getTotal());
    return result;
}

返回类

package com.bgs.pojo;

import java.util.List;

public class BootStrapResult {
    private Long total;//一共有多少条数据
    private List rows; //查询结果

    public Long getTotal() {
        return total;
    }

    public void setTotal(Long total) {
        this.total = total;
    }

    public List getRows() {
        return rows;
    }

    public void setRows(List rows) {
        this.rows = rows;
    }
}

 

sql语句,直接查所有就可以,有排序的话加就行了

PageHelper分页插件配合bootstrap和easyui的使用_第5张图片

easyui进行后台分页,前台跟bootstrap差不多查文档就行了

controller接收,easyui就传后台两个参数一个page当前页,一个rows一页显示多少条

@RequestMapping("/showUserByDeptId/{id}")
@ResponseBody
public EUDataGridResult showUserByDeptId(@PathVariable Integer id,HttpSession session,Integer page,Integer rows){
    EUDataGridResult euDataGridResult = userService.showUserByDeptId(id,page,rows);
    return euDataGridResult;
}

service调用的方法,这儿调用pageHelper的方法和bootstrap不同,其余的相同

@Override
public EUDataGridResult showUserByDeptId(Integer id,Integer page,Integer rows) {
    //将分页参数传入pageHelper对象
    PageHelper.startPage(page,rows);
    List userList = userMapper.showUserByDeptId(id);

    PageInfo pageInfo = new PageInfo(userList);

    EUDataGridResult euDataGridResult = new EUDataGridResult();
    euDataGridResult.setRows(userList);
    euDataGridResult.setTotal(pageInfo.getTotal());
    return euDataGridResult;
}

返回类型

package com.buba.party.utils;

import java.util.List;

public class EUDataGridResult {
    private long total;
    private List rows;

    public long getTotal() {
        return total;
    }

    public void setTotal(long total) {
        this.total = total;
    }

    public List getRows() {
        return rows;
    }

    public void setRows(List rows) {
        this.rows = rows;
    }
}

 

你可能感兴趣的:(bootstarp)