Open leqviet opened 5 years ago
package vn.com.demo.springboot.dto.common;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory;
import javax.xml.bind.annotation.XmlTransient; import java.io.Serializable; import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class PagingObject extends ResponseDTO implements Serializable {
/** * */ private static final long serialVersionUID = 4124958189596651958L; private List<T> content; private T dto; private int totalPage; private Integer pageNumber = 0; private int pageSize = 5; private int pageCurrentView = 1; private String fieldSort; private String kindSort; private int totalItem = 0; private static Logger log = LoggerFactory.getLogger(PagingObject.class); public List<T> getContent() { return content; } public void setContent(List<T> content) { this.content = content; } public T getDto() { return dto; } public void setDto(T dto) { this.dto = dto; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public Integer getPageNumber() { return pageNumber; } @JsonProperty public void setPageNumber(Integer pageNumber) { this.pageNumber = pageNumber; } @XmlTransient @JsonIgnore public void setPageNumber(String pageNumber) { try { this.pageNumber = Integer.valueOf(pageNumber); } catch (Exception e) { log.error(e.getMessage()); } } public int getPageCurrentView() { return pageCurrentView; } @JsonProperty public void setPageCurrentView(int pageCurrentView) { this.pageCurrentView = pageCurrentView; } public void setPageCurrentView(String pageCurrentView) { try { this.pageCurrentView = Integer.valueOf(pageCurrentView); if (this.pageCurrentView > 0) { this.pageNumber = this.pageCurrentView - 1; } } catch (Exception e) { log.error(e.getMessage()); } } public int getPageSize() { return pageSize; } @JsonProperty public void setPageSize(int pageSize) { this.pageSize = pageSize; } @XmlTransient @JsonIgnore public void setPageSize(String pageSize) { try { this.pageSize = Integer.valueOf(pageSize); } catch (Exception e) { log.error(e.getMessage()); } } public String getFieldSort() { return fieldSort; } public void setFieldSort(String fieldSort) { this.fieldSort = fieldSort; } public String getKindSort() { return kindSort; } public void setKindSort(String kindSort) { this.kindSort = kindSort; } public boolean hasPrevious() { return pageNumber > 0; } public boolean hasNext() { return pageNumber + 1 < totalPage; } public int getTotalItem() { return totalItem; } public void setTotalItem(int totalItem) { this.totalItem = totalItem; }
}
https://o7planning.org/en/11797/pagination-in-java-hibernate
package vn.com.demo.springboot.dto.common;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory;
import javax.xml.bind.annotation.XmlTransient; import java.io.Serializable; import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class PagingObject extends ResponseDTO implements Serializable {
}