Springboot+SpringMVC+MyBatis使用PageHelper实现分页操作

一个分页研究了好几天。。。

最终发现网上写的很多案例都是不太适合自己的,所以写下了这篇记录,也算是记下自己的一些经验吧。废话不多说上代码。

maven依赖:



    com.github.pagehelper
    pagehelper
    4.0.0

至于SSM的框架整合什么的我就不贴出来了,会使用PageHelper进行分页, 我想你的SSM框架也应该是构建好了。

application.properties:

pagehelper.helperDialect=sqlserver
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

我这里是用的是sqlserver 你是什么数据库就自己改咯。那个什么树状的那个配置我是没有的,就是yml,说的就是这个,yml的同志不好意思啦。

继续:

Controller层:
@RequestMapping(value = "/productedit")
public String editProduct(Model model) {
   //普通的实体类对象,不能再普通了,下面贴出代码
    DwzPage dwzPage = new DwzPage(); 
   //serivce查询代码
    List colors = productService.getColors(1,20);
    //相当于request.setAttribute("listColors",colors),这里存储的是使用PageHelper分页过后的数据
    model.addAttribute("listColors", colors);
    //PageInfo pageInfo=new PageInfo(数据源) 
    //ps:pageInfo存的是你分页的数据,不是你从数据库里面取得数据,博主在这里纠结了好久,希望小伙伴们少走弯路
    PageInfo pageInfo = new PageInfo(colors);
    //这句解释过了就不解释了
    model.addAttribute("pageInfo", pageInfo);
    return "finishProduct/finishproductedit";
}

下面有请我们这次的主角sevice层:

public   List  getColors(int pageNum,int pagesize) {
    //参数为(当前显示页数,当前页数显示多少条数)
     PageHelper.startPage(pageNum,pagesize);
    //连接dao层的方法,dao的方法下面贴出
    List colors=productDao.getColors();
    return  colors;
}

觉得麻烦也可以直接写在Controller里,这里博主就不这么写了。

dao层:

//加不加public 随你们便咯
List getColors();

Mybatis sql语句:

  

ps:语句后面记得order by 不然会报错

实体类Colors代码

public class Colors {
    private String bh;
    private String name;
    private String name_pk;
    private int isdelete;
    private String maxbh;
    private String PAGE_ROW_NUMBER;

    public String getBh() {
        return bh;
    }

    public void setBh(String bh) {
        this.bh = bh;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName_pk() {
        return name_pk;
    }

    public void setName_pk(String name_pk) {
        this.name_pk = name_pk;
    }

    public int getIsdelete() {
        return isdelete;
    }

    public void setIsdelete(int isdelete) {
        this.isdelete = isdelete;
    }

    public String getMaxbh() {
        return maxbh;
    }

    public void setMaxbh(String maxbh) {
        this.maxbh = maxbh;
    }

    public String getPAGE_ROW_NUMBER() {
        return PAGE_ROW_NUMBER;
    }

    public void setPAGE_ROW_NUMBER(String PAGE_ROW_NUMBER) {
        this.PAGE_ROW_NUMBER = PAGE_ROW_NUMBER;
    }

    @Override
    public String toString() {
        return "Colors{" +
                "bh='" + bh + '\'' +
                ", name='" + name + '\'' +
                ", name_pk='" + name_pk + '\'' +
                ", isdelete=" + isdelete +
                ", maxbh='" + maxbh + '\'' +
                ", PAGE_ROW_NUMBER='" + PAGE_ROW_NUMBER + '\'' +
                '}';
    }
}

刚刚忘记了,博主引入了一个jar包,虽然不知道啥用,不知道有没有影响:jar包贴出来吧:

csdn下载:https://download.csdn.net/download/qq_35272054/10560534

SqlParser - github地址:https://github.com/JSQLParser/JSqlParser

SqlParser最新版jar下载:http://search.maven.org/remotecontent?filepath=com/github/jsqlparser/jsqlparser/0.9.1/jsqlparser-0.9.1.jar

maven依赖为:

        
            com.github.jsqlparser
            jsqlparser
        

 

你可能感兴趣的:(java工作记录)