使用通用mapper按條件查詢分頁數據(包含Example的使用)


1  步驟:   分頁 ,   添加條件,  返回page對象, 封裝為需要的對象

 

2  一般分頁數據需要三個參數: 總頁數, 總條數,  對象的集合, 

  因此可以建立一個通用類,封裝上面的三個參數,具體如下: 

public class PageResult<T> {
private Long total;// 總條數
private Long totalPage;// 總頁數
private List<T> items;// 當前頁數據

public PageResult() {
}

public PageResult(Long total, List<T> items) {
this.total = total;
this.items = items;
}

public PageResult(Long total, Long totalPage, List<T> items) {
this.total = total;
this.totalPage = totalPage;
this.items = items;
}

public Long getTotal() {
return total;
}

public void setTotal(Long total) {
this.total = total;
}

public List<T> getItems() {
return items;
}

public void setItems(List<T> items) {
this.items = items;
}

public Long getTotalPage() {
return totalPage;
}

public void setTotalPage(Long totalPage) {
this.totalPage = totalPage;
}
}


3  因此需要返回的數據類型就是PageResult<Goods> (以商品類為例)
  

// 分頁,最多允許查100條
PageHelper.startPage(page, Math.min(rows, 100));

// 創建查詢條件
Example example = new Example(Goods.class);
Example.Criteria criteria = example.createCriteria();



// 是否模糊查詢
if (StringUtils.isNotBlank(key)) {
criteria.andLike("title", "%" + key + "%");
}

 

//得到page對象
Page<Goods> pageInfo = (Page<Goods>) this.spuMapper.selectByExample(example);

 

 

 

//封裝為pageResult對象

return new PageResult<>(pageInfo.getTotal(),pageInfo.getResult());

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM