mongoTemplate分页查询查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/monica1_1/article/details/82667456

Model层:

public class WebApplyBasePageRequest extends WebBaseRequest {
    private static final long serialVersionUID = 1L;

    /**
     * 申请id
     */
    @ApiModelProperty(value = "申请id", dataType = "Long")
    private Long loanApplyId;

    @ApiModelProperty(value = "当前页面", required = true)
    private Integer currentPage;

    @ApiModelProperty(value = "每页展示数", required = true)
    private Integer pageSize;

    public boolean isCorrectParams() {
        boolean result = super.isCorrectParams();
        if (!result) {
            return false;
        }
        if (loanApplyId == null) {
            return false;
        }
        if (currentPage == null) {
            return false;
        }
        if (pageSize == null) {
            return false;
        }
        return true;
    }

    public Long getLoanApplyId() {
        return loanApplyId;
    }

    public void setLoanApplyId(Long loanApplyId) {
        this.loanApplyId = loanApplyId;
    }

    public Integer getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(Integer currentPage) {
        this.currentPage = currentPage;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
}

Dao层:

public Page<ApplyLog> selectApplyLogPage(Integer currentPage, Integer pageSize, Long loanApplyId) {
        //创建查询对象
        Query query = new Query();
        //设置起始数
        query.skip((currentPage - 1) * pageSize);
        //设置查询条数
        query.limit(pageSize);
        Criteria criteria = new Criteria();
        criteria.where("loanApplyId").is(loanApplyId);
        //查询当前页数据集合
        List<ApplyLog> ApplyLogList = mongoTemplate.find(query, ApplyLog.class);
        //查询总记录数
        int count = (int) mongoTemplate.count(query, ApplyLog.class);
        //创建分页实体对象
        Page<ApplyLog> page = new Page<>();
        //添加每页的集合、数据总条数、总页数
        page.setRecords(ApplyLogList);
        page.setSize(count);
        page.setTotal(count % pageSize == 0 ? 1 : count / pageSize + 1);
        return page;
    }

 Service层:

 public Page<ApplyLog> getApplyLogPage(Integer currentPage, Integer pageSize, Long loanApplyId) {
        Page<ApplyLog> page = applyLogMongoDao.selectApplyLogPage(currentPage, pageSize, loanApplyId);
        return page;
    }

 Controller层:

    public BasePageResponse<ApplyLog> getMsgUserPage(@RequestBody WebApplyBasePageRequest request) { 
        Page<ApplyLog> page = applyService.getApplyLogPage(request.getCurrentPage(), request.getCurrentPage(), request.getLoanApplyId());
        return new BasePageResponse<>(page);
    }

参考文档:https://www.cnblogs.com/xiaoqi/p/queries-in-spring-data-mongodb.html

欢迎加入 CSDN技术交流群:QQ群:681223095,方便问题讨论。博主不一定长期在线,但是qq群里会有很多热心的小伙伴,大家一起讨论解决问题。
关注公众号,更多学习内容给予推送,争取每日更新

这里写图片描述

猜你喜欢

转载自blog.csdn.net/monica1_1/article/details/82667456
今日推荐