若依分页实现

若依分页:是基于MyBatis的PageHelper实现的

startPage()

注意:1.startPage()只会对该语句后的第一个查询(select)得到的数据进行分页。

//表格支持类,从请求中获取分页参数,构建分页对象进行返回。

public class TableSupport
{
    /**
     * 封装分页对象
     */
    public static PageDomain getPageDomain()
    {
        PageDomain pageDomain = new PageDomain();
        pageDomain.setPageNum(ServletUtils.getParameterToInt(Constants.PAGE_NUM));
        pageDomain.setPageSize(ServletUtils.getParameterToInt(Constants.PAGE_SIZE));
        pageDomain.setOrderByColumn(ServletUtils.getParameter(Constants.ORDER_BY_COLUMN));
        pageDomain.setIsAsc(ServletUtils.getParameter(Constants.IS_ASC));
        return pageDomain;
    }

    public static PageDomain buildPageRequest()
    {
        return getPageDomain();
    }
}
/**
 * 分页对象
 * 
 * @author ruoyi
 */
public class PageDomain
{
    /** 当前记录起始索引 */
    private Integer pageNum;
    /** 每页显示记录数 */
    private Integer pageSize;
    /** 排序列 */
    private String orderByColumn;
    /** 排序的方向 "desc" 或者 "asc". */
    private String isAsc;

    public String getOrderBy()
    {
        if (StringUtils.isEmpty(orderByColumn))
        {
            return "";
        }
        return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc;
    }

    public Integer getPageNum()
    {
        return pageNum;
    }

    public void setPageNum(Integer pageNum)
    {
        this.pageNum = pageNum;
    }

    public Integer getPageSize()
    {
        return pageSize;
    }

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

    public String getOrderByColumn()
    {
        return orderByColumn;
    }

    public void setOrderByColumn(String orderByColumn)
    {
        this.orderByColumn = orderByColumn;
    }

    public String getIsAsc()
    {
        return isAsc;
    }

    public void setIsAsc(String isAsc)
    {
        this.isAsc = isAsc;
    }
}
/**
 * 设置请求分页数据
 */
protected void startPage()
{  
    //从表格支持类中获取到分页对象
    PageDomain pageDomain = TableSupport.buildPageRequest();
     //获取请求中获取的页数
    Integer pageNum = pageDomain.getPageNum();
     //获取请求中获取的每页个数
    Integer pageSize = pageDomain.getPageSize();
     //获取pageDomain 的orderBy数据
    if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
    {
         //校验orderBy数据格式
        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
        //校验成功,PageHelper.startPage传参实现分页。
        PageHelper.startPage(pageNum, pageSize, orderBy);
    }
}
 

猜你喜欢

转载自blog.csdn.net/snowing1997/article/details/131697158