分页
在实际的开发场景中,有些常常使用 MybatisPlus 的IPage接口作为分页接口的返回值,但是其实这是不合规的。也有有一些项目中,使用自定义的分页对象作为响应返回,但是通常都需要程序员手动进行对象转换。而且根据底层框架的不同,可能存在多种转换的情况。
针对这种开发场景, miemiemie提供了
- 一个分页实体
com.miemiemie.starter.core.page.Page,该类用以代表分页的数据,比如,接口的分页响应。 - 一个分页转换接口,用于将其他分页类转换为所需要的分页类
com.miemiemie.starter.core.page.PageConvert - 一个分页转换工厂,不同的分页类可以将自己的转换器注册到工厂中,然后使用工厂获取对应的转换,从而得到目标
com.miemiemie.starter.core.page.Page
使用转换器转换Page对象
@Resouce
private PageConvertFactory pageConvertFactory;
pageConvertFactory.getConvert(IPage.class).convert(page);
MybatisPlus 支持
在miemiemie-mybatisplus模块中,存在一个关于IPage的转换com.miemiemie.starter.mybatisplus.page.MybatisPlusPageConvert,用于将IPage转换为Page对象。
Pages 分页工具
// 转换page
Page<Person> personPage = Pages.toPage(iPage, Person.class);
// 创建一个空的分页
Pages.emptyPage();
// 对内存的List数据分页
Pages.pageFromList(list, 10, 2);
// 判断分页对象是否有数据
Pages.hasRecords(personPage);
// 根据分页信息判断是否有下一页数据
Pages.hasNextPage(personPage);
更多方法请直接查看Pages类。