当分页插件Pagehelper失效时,笨笨解决办法

PageHelper是Mybatis的一个很好的分页插件,但要使用它的分页功能需要注意:

当一个方法中有多个查询语句时,只有紧跟在PageHelper.starPage()方法后的查询结果才会分页,否则分页无效。如果你也是这个问题,那我就跟着我用一种超级笨的方法来解决分页问题,我在这里可是踩了很大的坑的。当然,如果你有更简单的方法,也可以和我分享,因为我求问度娘无果,才出此下策。

进入主题

这是我的业务层,因为进行了多个查询语句,所以分页失效了

/*驾驶人员数据*/
@Override
public List selectDriverEnityList(DriverEnity driverEnity) {

    List driverEnityList1 = new ArrayList<>();
    if(driverEnity.getShenfen() == 0){
        /*普通员工申请*/
        driverEnityList1 = driverMapper.selectDriverEnityList(driverEnity);
    }else {
        /*管理员申请*/
        List driverEnityList = new ArrayList<>();
        /*得到管辖的所有部门*/
        List  commonEnityList = roleMapper.selectDeptIdList(driverEnity.getDept_id());
        for (int i = 0; i 
 
  

然而我在度娘那里求寻未果时,自己就用最笨的方法,重写了分页

这是我的控制层

/*驾驶员数据*/
@CrossOrigin
@PostMapping("/selectDriverDate")
@ResponseBody
@Log(title = "驾驶员数据", businessType = BusinessType.SELECT)
public String selectDriverDate(@RequestBody DriverEnity driverEnity){
    String result ="";
    try {
        if(driverEnity !=null ){

            List parameterList =driverService.selectDriverEnityList(driverEnity);
            List parameterList1 = new ArrayList<>();

            /*每页记录数*/
            int pageSize =driverEnity.getPageSize();
            /*当前页*/
            int currentPage=driverEnity.getCurrentPage();
            //总数
            int total = parameterList.size();
            //总页数
            int pageSum = total % pageSize == 0 ? total / pageSize : total / pageSize + 1;
            parameterList1= parameterList.stream().skip((currentPage - 1) * pageSize).limit(pageSize).
                    collect(Collectors.toList());

            TableDataInfo tableDataInfo =getDataTable1(parameterList1,total,pageSum);
            result = JsonResultUtils.success("请求成功",tableDataInfo);
        }else{
            result =JsonResultUtils.error("请求失败");
        }
    }catch (Exception E){
        E.printStackTrace();
        result =JsonResultUtils.error("请求失败,请联系开发人员");
    }
    return  result;
}
结束,当然如果你有更好的分页可以留言交流

你可能感兴趣的:(mybatis,java,mysql)