• java返回结果集封装


    1、返回消息统一定义文件CodeMsg.java

    1. public class CodeMsg {  
    2.     private int retCode;  
    3.     private String message;  
    4.     // 按照模块定义CodeMsg  
    5.     // 通用异常  
    6.     public static CodeMsg SUCCESS = new CodeMsg(0,"success");  
    7.     public static CodeMsg SERVER_EXCEPTION = new CodeMsg(500100,"服务端异常");  
    8.     public static CodeMsg PARAMETER_ISNULL = new CodeMsg(500101,"输入参数为空");  
    9.     // 业务异常  
    10.     public static CodeMsg USER_NOT_EXSIST = new CodeMsg(500102,"用户不存在");   
    11.     public static CodeMsg ONLINE_USER_OVER = new CodeMsg(500103,"在线用户数超出允许登录的最大用户限制。");   
    12.     public static CodeMsg SESSION_NOT_EXSIST =  new CodeMsg(500104,"不存在离线session数据");  
    13.     public static CodeMsg NOT_FIND_DATA = new CodeMsg(500105,"查找不到对应数据");  
    14.       
    15.     private CodeMsg(int retCode, String message) {  
    16.         this.retCode = retCode;  
    17.         this.message = message;  
    18.     }  
    19.     public int getRetCode() {  
    20.         return retCode;  
    21.     }  
    22.     public String getMessage() {  
    23.         return message;  
    24.     }  
    25.     public void setMessage(String message) {  
    26.         this.message = message;  
    27.     }  
    28. }  

    2、返回结果集封装:Result.java

    1. public class Result<T> {  
    2.     private String message;  
    3.     private int retCode;  
    4.     private T data;  
    5.     private Result(T data) {  
    6.         this.retCode = 0;  
    7.         this.message = "成功";  
    8.         this.data = data;  
    9.     }  
    10.     private Result(CodeMsg cm) {  
    11.         if(cm == null){  
    12.             return;  
    13.         }  
    14.         this.retCode = cm.getRetCode();  
    15.         this.message = cm.getMessage();  
    16.     }  
    17.     /**  
    18.      * 成功时候的调用  
    19.      * @return  
    20.      */  
    21.     public static <T> Result<T> success(T data){  
    22.         return new Result<T>(data);  
    23.     }  
    24.     /**  
    25.      * 成功,不需要传入参数  
    26.      * @return  
    27.      */  
    28.     @SuppressWarnings("unchecked")  
    29.     public static <T> Result<T> success(){  
    30.         return (Result<T>) success("");  
    31.     }  
    32.     /**  
    33.      * 失败时候的调用  
    34.      * @return  
    35.      */  
    36.     public static <T> Result<T> error(CodeMsg cm){  
    37.         return new Result<T>(cm);  
    38.     }  
    39.     /**  
    40.      * 失败时候的调用,扩展消息参数  
    41.      * @param cm  
    42.      * @param msg  
    43.      * @return  
    44.      */  
    45.     public static <T> Result<T> error(CodeMsg cm,String msg){  
    46.         cm.setMessage(cm.getMessage()+"--"+msg);  
    47.         return new Result<T>(cm);  
    48.     }  
    49.     public T getData() {  
    50.         return data;  
    51.     }  
    52.     public String getMessage() {  
    53.         return message;  
    54.     }  
    55.     public int getRetCode() {  
    56.         return retCode;  
    57.     }  
    58. }  


    3、返回结果使用:

    1. Map<String, Object> dataMap = new HashMap<String, Object>();  
    2. dataMap.put("data", data);  
    3. dataMap.put("userid", userid);  
    4.   
    5.   
    6. result = Result.success(dataMap);// 成功,并返回数据和retCode和message  
    7.   
    8. // result = Result.success();// 成功,不返回数据,只返回retCode和message  
    9.   
    10. // result = Result.error(CodeMsg.SERVER_EXCEPTION);// 失败返回错误信息  
    11.   
    12. // result = Result.error(CodeMsg.SERVER_EXCEPTION,e.toString());// 失败返回错误+扩展错误信息  



    2018-05-15更新

    日常开发中,将系统的返回msg可以封装成枚举(Emun)类型来处理。
  • 相关阅读:
    介绍一种很好用的任务调度平台
    java中的进制与操作符
    类再生(合成、继承、final)
    初始化
    重新学习Spring2——IOC和AOP原理彻底搞懂
    重新学习Spring一--Spring在web项目中的启动过程
    JDK并发包
    java并行程序基础
    MVC模式
    访问者模式
  • 原文地址:https://www.cnblogs.com/jpfss/p/8602275.html
Copyright © 2020-2023  润新知