package com.smilonet.common.dao.mybatis; import lombok.Data; import lombok.EqualsAndHashCode; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; @Data @EqualsAndHashCode(callSuper = true) public class SelectPageRequest extends ExecuteRequest<SelectPageParam> { protected String dataStatementName; protected String countStatementName; public SelectPageRequest(String countStatementName, String dataStatementName, PageRequest pager) { this(countStatementName, dataStatementName, null, null, pager); } public SelectPageRequest(String countStatementName, String dataStatementName, PageRequest pager, Sort sort) { this(countStatementName, dataStatementName, null, sort, pager); } public SelectPageRequest(String countStatementName, String dataStatementName, Object condition, PageRequest pager) { this(countStatementName, dataStatementName, condition, null, pager); } public SelectPageRequest(String countStatementName, String dataStatementName, Object condition, Sort sort, PageRequest pager) { super(null, new SelectPageParam(condition, sort, pager)); this.dataStatementName = dataStatementName; this.countStatementName = countStatementName; } public void setAsCountMode() { this.executedStatementName = this.countStatementName; } public void setAsResultMode() { this.executedStatementName = this.dataStatementName; } }