Ejemplo n.º 1
0
 /**
  * 获取分页参数
  *
  * @param params RowBounds参数
  * @return 返回Page对象
  */
 public Page getPage(Object params) {
   Page page = getLocalPage();
   if (page == null) {
     if (params instanceof RowBounds) {
       RowBounds rowBounds = (RowBounds) params;
       if (offsetAsPageNum) {
         page = new Page(rowBounds.getOffset(), rowBounds.getLimit(), rowBoundsWithCount);
       } else {
         page = new Page(rowBounds, rowBoundsWithCount);
         // offsetAsPageNum=false的时候,由于PageNum问题,不能使用reasonable,这里会强制为false
         page.setReasonable(false);
       }
     } else {
       page = getPageFromObject(params);
     }
     setLocalPage(page);
   }
   // 分页合理化
   if (page.getReasonable() == null) {
     page.setReasonable(reasonable);
   }
   // 当设置为true的时候,如果pagesize设置为0(或RowBounds的limit=0),就不执行分页,返回全部结果
   if (page.getPageSizeZero() == null) {
     page.setPageSizeZero(pageSizeZero);
   }
   return page;
 }