首页 > 编程知识 正文

pagehelper原理,pagehelper如何使用

时间:2023-05-06 21:31:24 阅读:24196 作者:1874

前因:数据库中的表数据太大,每个查询需要2秒钟以上。 如果使用mybatis内置的分页,则需要调查两次数据库。 (原理是计数后查两次),所以自己实现分页,不用mybatis分页package com.xxx.utils的import com.github.page helper.page info import java.util.List; import java.util.Map; public class PageUtil { //手动分页自定义方法publicstaticpageinfopageinfo (integer page,Integer pageSize1,List list )//手动分页int end=0; int总页面=0; int totalRecord=0; int pageSize=0; int size=0; int number=0; size=pageSize1; number=page; pageSize=pageSize1; 总记录=list.size (; //设定总数realpage info.set total (total record );//设置每页显示条数的realpageinfo.setpagesize(size ); //要显示的是设定第几页的数据realpageinfo.setpagenum(number ); realpage info.setsize (总记录); //计算并取得对应显示的数据if (total record % pagesize==0) total pages=total record/pagesize; } else { total pages=total record/pagesize 1; } realpage info.setpages (总页); //初始边界值计算if(number==1) { start=0; realpage info.sethaspreviouspage (false; realpageinfo.setprepage(0; realpage info.setisfirstpage (true; } else { start=realpage info.getpagesize () * ) *(realPageInfo.getPageNum ) (-1 ); realpage info.sethaspreviouspage (true; realpage info.set prepage (number-1; realpage info.setisfirstpage (false ); } realpage info.set startrow ((number-1 ) *pageSize ); //结束边界值计算if ((startrealpageinfo.getpagesize ) ) { end=totalRecord; realpage info.sethasnextpage (false; realpage info.setislastpage (true; realpage info.set endrow (总记录); } else { end=startrealpageinfo.getpagesize (; realpage info.sethasnextpage (true; realpage info.set next page (number1); realpage info.setislastpage (false ); realpageinfo.setendrow((number ) *pageSize ); } if (开始=总记录) realpage info.set list (list.sublist ) start,end ); }if(realpageinfo.getsize(==0) realpageinfo.setstartrow ) ) 0; realpageinfo.setendrow(0; } else { realpage info.set startrow (realpage info.get startrow ) (1); realpage info.set endrow (realpage info.get startrow (-1 realpage info.getsize ) ); } realpage info.setpages (总页); realpage info.setnavigatelastpage (总页面编号? number 1:总页面; 返回范围信息; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。