springboot mybatis分页

1.pom.xml文件中引入依赖

注意1.2.3版本,太低了会和springboot版本不兼容

 <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.3</version>
 </dependency>

2.查询的函数不做改变

我直接用的dao的原生sql查询,自己原来用哪种查询不变就好了

@Select("select * from UnionTable")
List<unionTable> findUnionTable();

3.控制层做分页控制(关键步骤)

一定注意注意:!!!分页不生效可能是
PageHelper.startPage(pages,pageSizes);只对后面第一个查询语句起分页作用,你查询的语句必须紧跟在startPage后面,写到别处不生效,血泪史!!!

  @PostMapping(value = "/findData")
public result findData(@RequestParam("pages") Integer pages,@RequestParam("pageSizes") Integer pageSizes,@RequestParam("tableName") String tableName){
	//加入页码的处理
    pages = pages == null || pages <= 0 ? 1:pages;
    pageSizes = pageSizes == null || pageSizes <= 0 ? 20:pageSizes;
    PageHelper.startPage(pages,pageSizes);//设置分页的起始码以及页面大小
    List ic=findIcAddressDao.findIcAddress(tableName);
    PageInfo pageInfo = new PageInfo(ic);//传入list就能够了
    return  new result(200, "登录成功", pageInfo);
  }

备注:result是我自己封装的返回状态码,代码如下

package com.xu.drools.bean;

public class result {

  private Integer code;// 返回码
  private String message;//返回信息
  private Object data;// 返回数据

  public result(Integer code,String message,Object data) {
    this.code = code;
    this.message = message;
    this.data=data;
  }

  public Integer getCode() {
    return code;
  }

  public void setCode(Integer code) {
    this.code = code;
  }
  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }
  public Object getData() {
    return data;
  }
  public void setData(Object data) {
    this.data = data;
  }
}

查询结果如下,OK了
在这里插入图片描述


版权声明:本文为weixin_43731311原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。