【工具类】高级查询和分页的后台代码分析几思路 ArrayList BaseQuery

【工具类】高级查询和分页的后台代码分析几思路 ArrayList BaseQuery_第1张图片
在这里插入图片描述
数据从前台请求到web-controller层,数据流动从controller—>service---->mapper—>mapper.xml----->获取到数据,在原路返回。

1、创建BaseQuery及PageList对象
2、BaseService添加一个高级分页方法(因为都会用到高级查询)
3、在BaseMapper中添加两个接口方法,用于返回总数(total)和数据(rows)
--------以上都是项目经理在做
4、在各自Mapper.xml再添加两条sql。

【工具类】高级查询和分页的后台代码分析几思路 ArrayList BaseQuery_第2张图片【工具类】高级查询和分页的后台代码分析几思路 ArrayList BaseQuery_第3张图片

ArrayList.java代码

package cn.itsource.utils;

import java.util.ArrayList;
import java.util.List;

public class PageList<T> {
    //总数
    private Long total = 0L;
    //当前页数据
    private List<T> rows = new ArrayList<T>();
    public Long getTotal() {
        return total;
    }
    public void setTotal(Long total) {
        this.total = total;
    }
    public List<T> getRows() {
        return rows;
    }
    public void setRows(List<T> rows) {
        this.rows = rows;
    }
    public PageList() {
    }
    public PageList(Long total, List<T> rows) {
        this.total = total;
        this.rows = rows;
    }
}

BaseQuery.java代码

package cn.itsource.basic.query;

public class BaseQuery {

    //当前页
    private Long page = 1L;

    //每页显示多少条
    private Long pageSize = 10L;

    //高级查询都有的:keyWords
    private String keyWOrds;


    //获取起始页  
    //sql语句中获得sql语句中的起始索引,方法名取成get规范,sql就可以直接取属性值
    public Long getStart(){

        return (this.page-1)*pageSize;
    }

    public Long getPage() {
        return page;
    }

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

    public Long getPageSize() {
        return pageSize;
    }

    public void setPageSize(Long pageSize) {
        this.pageSize = pageSize;
    }

    public String getKeyWOrds() {
        return keyWOrds;
    }

    public void setKeyWOrds(String keyWOrds) {
        this.keyWOrds = keyWOrds;
    }

    @Override
    public String toString() {
        return "BaseQuery{" +
                "page=" + page +
                ", pageSize=" + pageSize +
                ", keyWOrds='" + keyWOrds + '\'' +
                '}';
    }
}

你可能感兴趣的:(【工具类】高级查询和分页的后台代码分析几思路 ArrayList BaseQuery)