若依分页:是基于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);
}
}
文章介绍了如何使用若依框架中的PageHelper工具类进行分页查询,强调startPage()方法只对后续的第一个查询语句生效。同时,文章展示了TableSupport类如何封装分页参数,包括页码、每页大小、排序列和排序方式,并提供了设置请求分页数据的方法。

1万+

被折叠的 条评论
为什么被折叠?



