最近用到mybatis plus 的分页,看了看MP的分页实现,决定采用了下面的方法实现分页。MP有自己的分页,感兴趣的,可以自己查阅。
首先,先自己写一个类,作为分页
public class MyPage<T> extends Page {
/**
* 自定义方法,通过设置 page 和 pageSize 改变 recordz 内容
*/
public MyPage mySet(MyPage myPage, List<T> list){
myPage.setTotal(list.size());
myPage.getPages();
List list1 = new ArrayList<T>();
for (int i = (myPage.getCurrent()-1) * myPage.getSize(); i < myPage.getTotal(); i++) {
list1.add(list.get(i));
}
myPage.setRecords(list1);
return myPage;
}
}
用的时候呢,就很简单了,代码如下:
// 前提得需要page,表示当前页数
//list 为 自己查出来需要分页的集合
List<XXX> list = xxService.methodName();
MyPage<XXX> pages= new MyPage<>();
pages.setCurrent(page);
pages.setSize(10);
MyPage myPage = pages.mySet(pages, list);
myPage 的结果,就是分页之后的数据。
因为是刚刚用,如有问题,可以留言讨论。
@Configuration
public class mybatisPlusConfig {
/**
* mybatis-plus 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor(){
PaginationInterceptor page = new PaginationInterceptor();
page.setDialectType("mysql");
return page;
}
}