九阴真经


mongo分页

<h5>mongo分页</h5> <pre><code>package com.cf.common; import com.github.pagehelper.PageInfo; import org.springframework.data.mongodb.core.query.Query; /** * Mongo分页封装 * * @author jxd * @version 1.0 * * @date 2020/11/11 10:51 */ public class MongoPageUtil { /** * 分页处理 * * @return * @author jxd * @date 2020/11/11 12:00 */ public static void wrapPageQuery(Query query, Integer currentPage, Integer pageSize) { query.skip((currentPage - 1) * pageSize); query.limit(pageSize); } /** * 包装返回结果 * * @param pageInfo * @param totalSize * @param currentPage * @param pageSize * @return * @author jxd * @date 2020/11/11 12:15 */ public static void wrapPageInfo(PageInfo pageInfo, Integer totalSize, Integer currentPage, Integer pageSize) { long pages = totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1L; pageInfo.setPages((int) pages); pageInfo.setTotal(totalSize); pageInfo.setPageSize(pageSize); pageInfo.setPageNum(currentPage); } } </code></pre> <h5>应用</h5> <pre><code>@Override public PageInfo queryList(RedemptionCodeRecordDto redemptionCodeRecordDto) { Query query = new Query(); Set&lt;String&gt; parmas = new HashSet&lt;&gt;(); renderParamasSet(parmas); JSONObject redemptionCodeRecordDtoJson = (JSONObject) JSONObject.toJSON(redemptionCodeRecordDto); parmas.forEach(x -&gt; { String v = redemptionCodeRecordDtoJson.getString(x); if (StringUtils.isNotBlank(v)) { query.addCriteria(Criteria.where(x).is(v)); } }); query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "redemptionDate"))); Integer currentPage = redemptionCodeRecordDto.getCurrentPage(); Integer pageSize = redemptionCodeRecordDto.getPageSize(); MongoPageUtil.wrapPageQuery(query, currentPage, pageSize); long total = centerMongoTemplate.count(query, RedemptionCodeRecordDto.class, redemtionCodeRecord); List&lt;RedemptionCodeRecordDto&gt; list = centerMongoTemplate.find(query, RedemptionCodeRecordDto.class, redemtionCodeRecord); for (RedemptionCodeRecordDto codeRecordDto : list) { codeRecordDto.setRedemptionStatus(CommonEnum.renderRedemptionStatus(codeRecordDto.getRedemptionStatus())); } PageInfo pageInfo = new PageInfo(list); MongoPageUtil.wrapPageInfo(pageInfo, (int) total, currentPage, pageSize); return pageInfo; }</code></pre> <h5>新增索引</h5> <pre><code> public void addIndexForMongo(){ Index index=new Index(); //name 字段新增索引 index.on("name", Sort.Direction.DESC); //表名 mongoTemplate.indexOps("user").ensureIndex(index); }</code></pre> <h5>查看索引</h5> <pre><code>public void getIndexForMongo(){ List&lt;IndexInfo&gt; indexList = mongoTemplate.indexOps("user").getIndexInfo(); for (IndexInfo indexInfo : indexList) { System.out.println(indexInfo.getName()); } }</code></pre>

页面列表

ITEM_HTML