1. 程式人生 > >springboot jpa mongodb 多條件分頁查詢

springboot jpa mongodb 多條件分頁查詢

sort ndt int integer mongod nbsp boot amp success

public Page<Recorded> getRecordeds(Integer page, Integer size, Recorded recorded) {

if (page<1){

page=1;

}

Sort sort = new Sort(Sort.Direction.DESC,"createTime");

Pageable pageable = new PageRequest(page-1,size,sort);

Query query = new Query();

//條件id =XX

Criteria criteria = Criteria.where("callerId").is(recorded.getCallerId());

criteria.and(“status”).is(Recorded.SUCCESS);

if(startTime!=null&&endTime!=null){

criteria.andOperator(

Criteria.where("createTime").gte(startTime),

Criteria.where("createTime").lte(endTime)

);

}

query.addCriteria(criteria);

//mongoTemplate.count計算總數

long total = mongoTemplate.count(query, Recorded.class);

// mongoTemplate.find 查詢結果集

List<Recorded> items = mongoTemplate.find(query.with(pageable), Recorded.class);

return new PageImpl(items, pageable, total);

}

springboot jpa mongodb 多條件分頁查詢