pagehelper,pageinfo用法[通俗易懂]
生活随笔
收集整理的這篇文章主要介紹了
pagehelper,pageinfo用法[通俗易懂]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pagehelper,從pageinfo 中取到的total不正確的處理。
最近在使用pagehelper時遇到一些問題。2個類似的查詢都用的PageHelper.startPage進行分頁,A方法pageinfo中取出來的total,pages是正確的,B方法取出來的確不對,pages始終等于1,total 始終等于pageSize。很奇怪!仔細對照了兩個方法之后找到了原因。
方法A:
這是service 里面的方法
public ResultVO getAllActivity() {
PageHelper.startPage(pageNum,pageSize);
List<Activity> list = activityMapper.getAllActivity();
PageInfo<Activity> pageInfo = new PageInfo<Activity>(list);
if (list!=null&&list.size()!=0) {
.........
對list的邏輯處理
}
Jetbrains全家桶1年46,售后保障穩定
這樣從pageinfo中取出來的數據都是正確的。
方法B:
這是service 里面的方法
public ResultVO getAllUser() {
PageHelper.startPage(pageNum,pageSize);
List<User> list = userMapper.getAllUser();
if (list!=null&&list.size()!=0) {
for(User user : list){
UserVO userVO = DozerBeanMapperUtil.getMapper().map(user, UserVO.class);
....
}
}
PageInfo<Activity> pageInfo = new PageInfo<Activity>(list);
}
這樣從pageinfo中取出來的數據就不正確了。
我仔細對比了下,方法B 錯誤的原因是 我在service方法里面對查詢出來的數據進行了別的操作。所以再使用pagehelper時取出來的數據就有問題。我嘗試在方法B 的service 里面刪除了if判斷里面的代碼,直接返回list,或者
把PageInfo pageInfo = new PageInfo(list); 緊跟在
List list = userMapper.getAllUser();后面。
結果pageinfo里面的total 和 pages 就正確了。
總結
以上是生活随笔為你收集整理的pagehelper,pageinfo用法[通俗易懂]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jvav是什么梗?jvav是什么?jva
- 下一篇: axios实现跨域三种方法_跨域的解决方