- 自定义Page<T>
import java.util.List;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
public class Page<T> {
private List<T> list;
private long total;
private int pageNum;
private int pageSize;
public static void startPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
}
public static <T> Page<T> from(List<T> data) {
PageInfo<T> page = new com.github.pagehelper.PageInfo<T>(data);
Page<T> ret = new Page<>();
ret.list = data;
ret.total = page.getTotal();
ret.pageNum = page.getPageNum();
ret.pageSize = page.getPageSize();
return ret;
}
public Page() {
}
public Page(List<T> list) {
this.list = list;
}
public Page(List<T> list, int pageNum, int pageSize, long total) {
this.list = list;
this.total = total;
this.pageNum = pageNum;
this.pageSize = pageSize;
}
public List<T> getList() {
return list;
}
public long getTotal() {
return total;
}
public int getPageNum() {
return pageNum;
}
public int getPageSize() {
return pageSize;
}
}
- 创建Model: RiskFundLog
- 创建Vo: RiskFunkLogVo
- Service如下
@Override
public Page<RiskFundLogVo> getRiskLog(int pageNum, int pageSize) {
Page.startPage(pageNum, pageSize);
List<RiskFundLog> pageList = riskFundLogDao.search(new RiskFundLog());
try {
if (CollectionUtils.isNotEmpty(pageList)) {
List<RiskFundLogVo> ret = new ArrayList<>(pageList.size());
for (RiskFundLog item : pageList) {
RiskFundLogVo vo = new RiskFundLogVo();
BeanUtils.copyProperties(vo, item);
ret.add(vo);
}
com.github.pagehelper.Page page = (com.github.pagehelper.Page)pageList;
return new Page(ret, page.getPageNum(), page.getPageSize(), page.getTotal());
}
} catch (Exception e) {
logger.error("RiskFundLogServiceImpl#getRiskLog exception occurred:", e);
}
List<RiskFundLogVo> emptyList = new ArrayList<>(1);
RiskFundLogVo emptyObj = new RiskFundLogVo();
emptyList.add(emptyObj);
return new Page<>(emptyList);
}