本文介绍: 参数为外部输入,故存在异常输入场景。比如pageNum和pageSize输入的值负数或者0,所以引入PageUtils来对入参进行判断矫正,从而避免引入异常。
PageHelper.startPage(int pageNum, int pageSize, boolean count)
参数为外部输入,故存在异常输入场景。比如 pageNum
和 pageSize
输入的值 负数
或者 0
,所以引入PageUtils
来对入参进行判断矫正,从而避免引入异常。
第1步:支持配置的方式来修改默认值
page-helper:
default-page-num: 1
default-page-size: 10
max-page-size: 50
count-total-or-not: true
第2步:引入PageUtils
import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.Objects;
@Component
public class PageUtils {
private static int defaultPageNumber; // 默认显示第几页
private static int defaultPageSize; // 默认每页显示多少条数据
private static int maxSizePage; // 每页显示条数上限
private static boolean isQueryTotalCount; // 每次查询DB时,是否进行count查询
@Value("${page-helper.default-page-num:1}")
private int pageNumberFromConfig;
@Value("${page-helper.default-page-size:10}")
private int pageSizeFromConfig;
@Value("${page-helper.max-page-size:15}")
private int maxSizePerPageFromConfig;
@Value("${page-helper.count-total-or-not:true}")
private boolean isQueryTotalFromConfig;
@PostConstruct
private void init() {
defaultPageNumber = pageNumberFromConfig;
defaultPageSize = pageSizeFromConfig;
maxSizePage = maxSizePerPageFromConfig;
isQueryTotalCount = isQueryTotalFromConfig;
}
public static int getPageNum(Integer pageNum) {
if (Objects.isNull(pageNum) || pageNum <= 0) {
return defaultPageNumber;
} else {
return pageNum;
}
}
public static int getPageSize(Integer pageSize) {
if (Objects.isNull(pageSize) || pageSize <= 0) {
return defaultPageSize;
} else if (pageSize > 100) {
return maxSizePage;
} else {
return pageSize;
}
}
public static boolean isQueryTotalCount() {
return isQueryTotalCount;
}
}
第3步:使用
public List<Student> listStudents(Integer pageNum, Integer PageSize) {
PageHelper.startPage(PageUtils.getPageNum(pageNum), PageUtils.getPageSize(PageSize), PageUtils.isQueryTotalCount());
PageHelper.orderBy("age asc");
List<Student> students = userMapper.listStudents();
PageInfo<Student> studentPageInfo = PageInfo.of(students);
return students;
}
参考
原文地址:https://blog.csdn.net/weixin_37646636/article/details/135491809
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_53684.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。