package entity; /** * 返回結果實體類 */ public class Result<T> { private boolean flag;//是否成功 private Integer code;//返回碼 private String message;//返回消息 private T data;//返回數據 public Result(boolean flag, Integer code, String message, Object data) { this.flag = flag; this.code = code; this.message = message; this.data = (T)data; } public Result(boolean flag, Integer code, String message) { this.flag = flag; this.code = code; this.message = message; } public Result() { this.flag = true; this.code = StatusCode.OK; this.message = "執行成功"; } public boolean isFlag() { return flag; } public void setFlag(boolean flag) { this.flag = flag; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public T getData() { return data; } public void setData(T data) { this.data = data; } }
package entity; /** * 返回碼 */ public class StatusCode { public static final int OK=20000;//成功 public static final int ERROR =20001;//失敗 public static final int LOGINERROR =20002;//用戶名或密碼錯誤 public static final int ACCESSERROR =20003;//權限不足 public static final int REMOTEERROR =20004;//遠程調用失敗 public static final int REPERROR =20005;//重復操作 }
@PostMapping(value = "/search/{page}/{size}" ) public Result<PageInfo> findPage(@RequestBody(required = false) Brand brand, @PathVariable int page, @PathVariable int size){ //調用BrandService實現分頁條件查詢Brand PageInfo<Brand> pageInfo = brandService.findPage(brand, page, size); return new Result(true,StatusCode.OK,"查詢成功",pageInfo); }
/*** * Brand多條件分頁查詢 * @param brand * @param page * @param size * @return */ PageInfo<Brand> findPage(Brand brand, int page, int size);
/** * Brand條件+分頁查詢 * @param brand 查詢條件 * @param page 頁碼 * @param size 頁大小 * @return 分頁結果 */ @Override public PageInfo<Brand> findPage(Brand brand, int page, int size){ //分頁 PageHelper.startPage(page,size); //搜索條件構建 Example example = createExample(brand); //執行搜索 return new PageInfo<Brand>(brandMapper.selectByExample(example)); }
/** * Brand構建查詢對象 * @param brand * @return */ public Example createExample(Brand brand){ Example example=new Example(Brand.class); Example.Criteria criteria = example.createCriteria(); if(brand!=null){ // 品牌id if(!StringUtils.isEmpty(brand.getId())){ criteria.andEqualTo("id",brand.getId()); } // 品牌名稱 if(!StringUtils.isEmpty(brand.getName())){ criteria.andLike("name","%"+brand.getName()+"%"); } // 品牌圖片地址 if(!StringUtils.isEmpty(brand.getImage())){ criteria.andEqualTo("image",brand.getImage()); } // 品牌的首字母 if(!StringUtils.isEmpty(brand.getLetter())){ criteria.andEqualTo("letter",brand.getLetter()); } // 排序 if(!StringUtils.isEmpty(brand.getSeq())){ criteria.andEqualTo("seq",brand.getSeq()); } } return example; }
public interface BrandMapper extends Mapper<Brand> { }
測試: