点击这里 > mongoTemplate结合Criteria实现分页、模糊、二级嵌套和时间范围查询等
自带分页api
pageNum:当前页,pageSize:页大小
query.skip((pageNum - 1) * pageSize);
query.limit(pageSize);
当数据量大的时候查询效率降低,所以进行优化设计
自定义分页
1、实现Pageable接口
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import javax.validation.constraints.Min;
/**
* 自定义分页实现
*/
@NoArgsConstructor
@AllArgsConstructor
public class SpringDataPageable implements Pageable {
/** 当前页 */
@Min(1)
private int pageNumber;
/** 页大小*/
@Min(1)
private int pageSize;
/** 排序设置 */
private Sort sort;
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
@Override
public int getPageNumber() {
return this.pageNumber;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
@Override
public int getPageSize() {
return this.pageSize;
}
@Override
public long getOffset() {
return (getPageNumber