java返回數據的封裝


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> {
}

測試:

 

 

 


免責聲明!

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



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