Mybatis-plus - 分页 - RowBounds
发布日期:2021-06-30 17:02:19 浏览次数:2 分类:技术文章

本文共 2360 字,大约阅读时间需要 7 分钟。

  • https://www.cnblogs.com/guanghe/p/10026099.html

Server 类

@Slf4j@Transactional@Servicepublic class AvatarServiceImpl implements AvatarService {
@Autowired private AvatarDao avatarDao ; @Autowired private PaginationProperties paginationProperties ; // do 。。。 @Override public Page
doFondPageObject(Integer pageCurrent, String name) {
log.debug("doFondPageObject pageCurrent={} name={}",pageCurrent,name); Assert.isArgumentValid(pageCurrent==null||pageCurrent<1, "页码异常"); /**查询:[分页前]总数据量*/ Wrapper
wrapper = //条件 new EntityWrapper
() .like(name!=null&&!"".equals(name),"name", name); Integer totalDataCount = //[分页前]总数据量 avatarDao.selectCount(wrapper); Assert.isNoFound(totalDataCount==null||totalDataCount==0, "没有数据"); /**查询分页*/ Integer pageSize = //以后再定制化 paginationProperties.getPageSize(); int offset = //开始位置 paginationProperties.getStartIndex(pageCurrent); RowBounds rowBounds = //分页查询条件 new RowBounds(offset, pageSize); List
list = avatarDao.selectPage(rowBounds, wrapper); Assert.isNoFound(list==null||list.size()==0, "没有数据!"); return new Page
(list, totalDataCount, pageCurrent, pageSize); }}

其中 paginationProperties 、 page<T> 为自定义类

paginationProperties :

@Data@Configuration@ConfigurationProperties(prefix = "page.config")public class PaginationProperties {
/** * 默认 每页 数据量 */ final static private Integer DEFAULT_PAGESIZE = 10 ; /** * 每页多少条数据 */ private Integer pageSize = DEFAULT_PAGESIZE ; /** * 工具:计算分页的startIndex * @param pageCurrent 当前页码 1~n * @return startIndex */ public Integer getStartIndex(Integer pageCurrent) {
return (pageCurrent-1)*pageSize ; } }

page<T>

@Datapublic class Page
implements Serializable{
private static final long serialVersionUID = 7844855365725887051L; /**数据s*/ private List
datas ; /**(分页前)总数据数*/ private Integer totalDataCount = 0 ; /**总页数*/ private Integer pageTotal = 0 ; /**当前页码*/ private Integer pageCurrent = 1 ; /**当前页数据量*/ private Integer pageSize = 3; public Page(List
datas, Integer totalDataCount, Integer pageCurrent, Integer pageSize) {
this.datas = datas; this.totalDataCount = totalDataCount; this.pageCurrent = pageCurrent; this.pageSize = pageSize; this.pageTotal = (totalDataCount-1)/pageSize + 1; } }

转载地址:https://lawsssscat.blog.csdn.net/article/details/104252631 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:js - JSON.stringify() 、JSON序列化与自定义、转成js对象 JSON.parse()
下一篇:JS - 5 - Symbol 类型

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月12日 09时50分24秒