<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # **分頁配置** 配置代碼 此處不需要改動 ~~~ package com.common; import com.constants.Constants; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class PageParamRequest { @ApiModelProperty(value = "頁碼", example= Constants.DEFAULT_PAGE + "") private int page = Constants.DEFAULT_PAGE; @ApiModelProperty(value = "每頁數量", example = Constants.DEFAULT_LIMIT + "") private int limit = Constants.DEFAULT_LIMIT; } ~~~ 配置常量 ~~~ package com.constants; public class Constants { //默認分頁頁碼 public static final int DEFAULT_PAGE = 1; //默認分頁每頁數量 public static final int DEFAULT_LIMIT = 20; //此處省略無數其余常量配置 } ~~~ 1. 如果想修改默認分頁數值,請修改 DEFAULT_LIMIT 的值即可,這塊會在前端不傳遞分頁參數的時候起作用,或者自己new 分頁參數類的時候起作用。 2. 分頁參數的最終值以前端傳遞為準 3. 需要分頁的時候在 *ServiceImpl文件的具體方法里,執行sql之前加一行代碼 ~~~ PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); ~~~ 4. 如果最終方法返回的類和當前分頁的時候映射的類不相同,例如當前業務是 class a,需要返回 class b,那么需要處理下數據。下文看文章這塊如何處理 ~~~ /** * 文章列表 * @param request ArticleSearchRequest 請求參數 * @param pageParamRequest 分頁類參數 * @author Mr.Zhang * @since 2020-04-18 * @return List<Article> */ @Override public PageInfo<ArticleVo> getList(ArticleSearchRequest request, PageParamRequest pageParamRequest) { //需要做賦值操作 Page<Article> articlePage = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); LambdaQueryWrapper<Article> lambdaQueryWrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(request.getCid())){ lambdaQueryWrapper.eq(Article::getCid, request.getCid()); } if(!StringUtils.isBlank(request.getKeywords())){ lambdaQueryWrapper.and(i -> i.or().like(Article::getTitle, request.getKeywords()) .or().like(Article::getAuthor, request.getKeywords()) .or().like(Article::getSynopsis, request.getKeywords()) .or().like(Article::getShareTitle, request.getKeywords()) .or().like(Article::getShareSynopsis, request.getKeywords())); } if(request.getIsBanner() != null){ lambdaQueryWrapper.eq(Article::getIsBanner, request.getIsBanner()); } if(request.getIsHot() != null){ lambdaQueryWrapper.eq(Article::getIsHot, request.getIsHot()); } if(request.getHide() != null){ lambdaQueryWrapper.eq(Article::getHide, request.getHide()); } if(request.getStatus() != null){ lambdaQueryWrapper.eq(Article::getStatus, request.getStatus()); } if(null != request.getIsHaveMediaId()){ lambdaQueryWrapper.isNotNull(Article::getMediaId).ne(Article::getMediaId, ""); } lambdaQueryWrapper.orderByDesc(Article::getSort).orderByDesc(Article::getVisit).orderByDesc(Article::getCreateTime); List<Article> articleList = dao.selectList(lambdaQueryWrapper); ArrayList<ArticleVo> articleVoArrayList = new ArrayList<>(); if(articleList.size() < 1){ return CommonPage.copyPageInfo(articlePage, articleVoArrayList); } for (Article article : articleList) { ArticleVo articleVo = new ArticleVo(); BeanUtils.copyProperties(article, articleVo); if(!StringUtils.isBlank(article.getImageInput()) ){ articleVo.setImageInput(CrmebUtil.jsonToListString(article.getImageInput())); articleVo.setImageInputs(article.getImageInput()); } articleVoArrayList.add(articleVo); } //需要通過復制轉化分頁類指定的對象 return CommonPage.copyPageInfo(articlePage, articleVoArrayList); } ~~~ 分頁操作類 ~~~ package com.common; import com.constants.Constants; import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Page; import com.github.pagehelper.PageInfo; import java.util.ArrayList; import java.util.List; @Data public class CommonPage<T> { private Integer page = Constants.DEFAULT_PAGE; private Integer limit = Constants.DEFAULT_LIMIT; private Integer totalPage = 0; private Long total = 0L ; private List<T> list = new ArrayList<>(); /** * 將PageHelper分頁后的list轉為分頁信息 */ public static <T> CommonPage<T> restPage(List<T> list) { CommonPage<T> result = new CommonPage<T>(); PageInfo<T> pageInfo = new PageInfo<T>(list); result.setTotalPage(pageInfo.getPages()); result.setPage(pageInfo.getPageNum()); result.setLimit(pageInfo.getPageSize()); result.setTotal(pageInfo.getTotal()); result.setList(pageInfo.getList()); return result; } /** * 將SpringData分頁后的list轉為分頁信息 */ public static <T> CommonPage<T> restPage(Page<T> pageInfo) { CommonPage<T> result = new CommonPage<T>(); result.setTotalPage(pageInfo.getTotalPages()); result.setPage(pageInfo.getNumber()); result.setLimit(pageInfo.getSize()); result.setTotal(pageInfo.getTotalElements()); result.setList(pageInfo.getContent()); return result; } /** * 將PageHelper分頁后的 PageInfo 轉為分頁信息 */ public static <T> CommonPage<T> restPage(PageInfo<T> pageInfo) { CommonPage<T> result = new CommonPage<T>(); result.setTotalPage(pageInfo.getPages()); result.setPage(pageInfo.getPageNum()); result.setLimit(pageInfo.getPageSize()); result.setTotal(pageInfo.getTotal()); result.setList(pageInfo.getList()); return result; } /** * 對象A復制對象B的分頁信息 //TODO 多次數據查詢導致分頁數據異常解決辦法 */ public static <T> PageInfo<T> copyPageInfo(com.github.pagehelper.Page originPageInfo, List<T> list) { PageInfo<T> pageInfo = new PageInfo<>(list); BeanUtils.copyProperties(originPageInfo, pageInfo, "list"); return pageInfo; } } ~~~ 在控制器里需要用下面代碼來接受分頁類的信息作為數據輸出 ~~~ CommonPage.restPage(articleService.getList(request, pageParamRequest)) ~~~ 對外輸出JSON下面自動封裝 ~~~ /** * 分頁顯示文章管理表 * @param request ArticleSearchRequest 搜索條件 * @param pageParamRequest 分頁參數 * @author Mr.Zhang * @since 2020-04-18 */ @ApiOperation(value = "分頁列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ApiImplicitParam(name="keywords", value="搜索關鍵字") public CommonResult<CommonPage<ArticleVo>> getList(@Validated ArticleSearchRequest request, @Validated PageParamRequest pageParamRequest){ return CommonResult.success(CommonPage.restPage(articleService.getList(request, pageParamRequest))); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看