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> {
}
測試:


