mybatis-pagehelper实现分页

1.首先定义一个实体类,属性为页码、每页数据量

package com.yanzhen.utils;

import java.io.Serializable;

public class Entity implements Serializable {

    private Integer page;
    private Integer limit;

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getLimit() {
        return limit;
    }

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

然后我们其他需要分页的类extends这个类就可以了,这样的话比较方便

2.下一步我们配置maven依赖

        
            com.github.pagehelper
            pagehelper
            5.1.11
        

3.对service层进行修改,对subject课程信息进行分页处理:

*:PageHelper.startPage(subject.getPage(),subject.getLimit());//进行分页处理(偷偷再敲一次加深印象)

 public List query(Subject subject) {
        //当查询条件有分页信息时,按照分页查询
        if(subject != null && subject.getPage() != null){
            //将subject进行分页处理,页码、每页的数据
            PageHelper.startPage(subject.getPage(),subject.getLimit());
        }
        //将subject转为map容器中,然后调用dao查询所有的课程
        return subjectDao.query(BeanMapUtils.beanToMap(subject));

    }

4.Controller接收前端响应json字符串,进行分页操作

@PostMapping("/query")
@ResponseBody
public Map query(@RequestBody Subject subject){
  Listlist=subjectService.query(subject);//得到分页分好后的课程
  Integer count=subjectService.count(subject);//得到课程数量
   
  return MapControll.getInstance().success().page(list,count).getMap();//放入map容器中,返回给前端
}

你可能感兴趣的:(ssm思想,java,开发语言,后端)