废话不多说直接上代码!!!
首先就是我们的依赖了
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
我这里只写重点要用到的依赖。
接着是yml中的配置文件了。
import com.alibaba.fastjson.JSONArray;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BaseUtil {
/**
* 物理分页
* @param pageSize 页数大小
* @param pageNum 页数
* @param dataList 集合
* @return
*/
public static Map<String, Object> PageHelper(Integer pageSize, Integer pageNum, List<?> dataList) {
try {
if(pageNum == null){
pageNum = 1;
}
if(pageSize == null){
pageSize = 10;
}
Map<String, Object> map = new HashMap<>();
int count = 0;
pageNum = pageNum - 1;
if(dataList != null && dataList.size() > 0) {
count = dataList.size();
int fromIndex = pageNum * pageSize;
int toIndex = (pageNum + 1) * pageSize;
if (toIndex > count) {
toIndex = count;
}
List<?> pageList = dataList.subList(fromIndex, toIndex);
//数据总条数
map.put("total", dataList.size());
//总分页数
map.put("totalPage",(dataList.size() + pageSize - 1)/pageSize);
//集合数据
map.put("date", pageList);
}else{
map.put("total", dataList.size());
map.put("totalPage",(dataList.size() + pageSize - 1)/pageSize);
map.put("date", new JSONArray());
}
return map;
} catch (Exception e) {
Map<String, Object> map = new HashMap<>();
e.printStackTrace();
map.put("total", dataList.size());
map.put("totalPage",(dataList.size() + pageSize - 1)/pageSize);
map.put("date", new JSONArray());
return map;
}
}
}
最后就是我们的物理分页了。
简单实现: