日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java方法通用返回結果集封裝操作

瀏覽:219日期:2022-08-26 11:33:07

我們在封裝方法的時候,有的時候除了需要返回數據結果集data,有的時候需要返回code(或者status) 或者 msg ,

此時可以采取下面兩種方式進行封裝方法的返回值:

一.返回結果使用HashMap接收

1.方法中的數據封裝到hashmap中

public Map<String,Object> result(Object object) { Map<String,Object> result = new HashMap<String, Object>(); result.put('status', '1'); result.put('msg', '成功'); if(條件1不通過校驗) { result.put('status', '-1'); result.put('msg', '....'); return result; } if(條件2不通過校驗) { result.put('status', '-1'); result.put('msg', '....'); return result; } //封裝返回數據 Object data = new Object(); result.put('data', data); return result; }

2.方法調用:

public void test() { Map<String,Object> result = this.result(new Object()); if(!'1'.equals(result.get('status').toString())) { //校驗不通過 return; }else { //如果校驗通過,拿到數據 Object data = result.get('data'); //TODO } }

二.使用泛型對象接收

1.通用結果集封裝

public class Result<T>{ private static final String SUCCESS = '1'; private static final String FAIL = '0'; private String code; private String msg; private T Data; public Result(String code) { this.code = code; } public Result(String code, String msg) { super(); this.code = code; this.msg = msg; } public Result(String code, String msg, T data) { super(); this.code = code; this.msg = msg; Data = data; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return Data; } public void setData(T data) { Data = data; } public static <T> Result<T> ok(T object) { return new Result<T>(SUCCESS, '', object); } public static <T> Result<T> ok() { return new Result<T>(SUCCESS); } public static <T> Result<T> nok(String msg) { return new Result<T>(FAIL, msg); } public static <T> Result<T> nok() { return new Result<T>(FAIL); } public static <T> Result<T> nok(String code, String msg) { return new Result<T>(code, msg); } public static <T> Result<T> nok(String code, String msg, T object) { return new Result<T>(code, msg, object); } public boolean isOk() { return Result.equals(getCode()); }}

2.對應需要返回數據T data 的 方法

public Result<T> result (Object object){ if(條件1不通過校驗) { return Result.nok('。。。');; } if(條件2不通過校驗) { return Result.nok('。。。');; } return Result.ok(T);}

3.方法調用:

public void test { Result<T> result = this.result(object); if(!result.isOk()) { //校驗不通過 return; }else { //如果校驗通過,拿到數據 Object data = result.getData(); //TODO } }

補充知識:java后端封裝標準返回類到前端

在日常開發中,我們后端和前端最好是約定一個數據格式,用于后端封裝好數據,然后返回前端,前端就可以很簡單地就解析了,下面是我總結出來經常會那么用的模板,可以參考一下:

1、創建對象

直接在實體包下面新建一個ReturnParam對象,對象內容包括了是否成功標記、list結果集合、total總數(用于前端分頁)還有可拓展的其他對象,直接看代碼吧:

import java.util.List; /** * @Author: John * @Description: 返回前端的統一對象 * @Date: 2019/8/3 10:03 * @param: null * @return: */public class ReturnParam<T> { private Boolean success; //請求是否成功 private List<T> list; //結果的集合 private int total; //結果的總條數 private Object obj; //其他的對象,可以使用Map<String, Object>的格式添加 public Boolean getSuccess() { return success; } public void setSuccess(Boolean success) { this.success = success; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public Object getObj() { return obj; } public void setObj(Object obj) { this.obj = obj; }}

2、調用

在代碼中調用就會使用下面的格式調用,下面附上我的一個小例子:

package com.tw.controller; import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; /** * @Author: John * @Description: 用于測試的接口 * @Date: 2019/8/2 21:44 * @param: null * @return: */@RequestMapping('/debug')@Controllerpublic class DebugController { //日志 private static Logger logger = LoggerFactory.getLogger(DebugController.class); @GetMapping('/test') public ReturnParam test() { logger.info('============調用debug的test方法'); //List集合中的數據 List<String> things = new ArrayList<>(); things.add('apple'); things.add('pear'); things.add('banana'); //添加其他類型1 Map<String, String> sort = new HashMap<>(); sort.put('sort', 'fruit'); //添加其他類型的數據2 String nama = 'John'; int age = 27; //聲明Object對象,并用于裝其他的東西 Map<String, Object> objectMap = new HashMap<>(); objectMap.put('sort', sort); objectMap.put('name', nama); objectMap.put('age', age); ReturnParam returnParam = new ReturnParam(); returnParam.setSuccess(true); returnParam.setList(things); returnParam.setTotal(things.size()); //obj用于裝qita類型的數據統一返回到前端 returnParam.setObj(objectMap); return returnParam; }}

3、返回

查看返回前端的數據格式,很干凈,很舒服,很符合有強迫癥的程序員觀看:

java方法通用返回結果集封裝操作

4、結語:

開發過程中需要多多總結,遇到一些感興趣的東西可以隨手記下來,總比過去了就過去了,什么都不留下來要好很多,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美一级精品| 国产精品乱战久久久| 精品国产a一区二区三区v免费| 久久国产欧美日韩精品| 欧美在线看片| 欧美中文高清| 久久精品国产成人一区二区三区| 精品国产一区二区三区噜噜噜| 国产成人免费精品| 日韩黄色大片| 精品在线99| 蜜臀久久99精品久久久画质超高清| 玖玖玖国产精品| 亚洲精品日韩久久| 婷婷综合一区| 老色鬼精品视频在线观看播放| 精品一区二区三区的国产在线观看 | 久久精品国产成人一区二区三区| 国产精品欧美三级在线观看| 久久99偷拍| 日韩在线二区| 另类av一区二区| 欧美日本不卡| 裤袜国产欧美精品一区| 精精国产xxxx视频在线播放| 久久蜜桃av| 国产精品毛片在线| 欧美日韩精品一区二区三区视频 | 久久wwww| 日韩中文欧美| 亚洲少妇在线| 国产精品一区二区三区四区在线观看 | 国产日产一区| 久久久久免费| 999久久久91| 中文字幕视频精品一区二区三区| 国产亚洲高清在线观看| 国产精品高颜值在线观看| 女人天堂亚洲aⅴ在线观看| 亚洲精品综合| 麻豆视频在线看| 国产精品普通话对白| 日韩avvvv在线播放| 国产精品不卡| 午夜在线一区二区| 国产精品www.| 在线精品视频在线观看高清| 欧美一级网址| 久久中文字幕av一区二区不卡| 三级在线观看一区二区| 老司机精品视频网| 999在线观看精品免费不卡网站| 久久精品凹凸全集| 国产一在线精品一区在线观看| 欧美特黄a级高清免费大片a级| 欧美视频久久| 亚洲午夜精品久久久久久app| 欧美日韩1区| 亚洲激情国产| 精品视频一区二区三区在线观看| 亚洲一区成人| 福利片在线一区二区| 香蕉久久国产| 精品一区视频| 午夜在线一区二区| 国产欧美一区二区三区精品酒店| 亚洲精品免费观看| 电影亚洲精品噜噜在线观看| 欧美日韩在线精品一区二区三区激情综合| 色婷婷精品视频| 久久av电影| 日本综合视频| 不卡在线一区| 久久精品色播| 日韩欧美激情| 日韩网站在线| 99久久久久| 国产成人a视频高清在线观看| 亚洲欧洲av| 免费污视频在线一区| 欧美少妇精品| 国产精品多人| 日本精品久久| 日韩精品一二三四| 亚洲小说欧美另类婷婷| 国产aⅴ精品一区二区三区久久| 午夜亚洲福利| 国产视频亚洲| 久久青草久久| 国产成人调教视频在线观看| 欧美日韩1区| 亚洲精品高潮| 一区在线免费观看| 亚洲电影有码| 国产一区二区三区探花| 奇米亚洲欧美| 只有精品亚洲| 另类国产ts人妖高潮视频| 亚洲成人精选| 精品中文一区| 亚洲女同一区| 午夜影院欧美| 韩日一区二区三区| 99久久精品费精品国产| 日本免费一区二区三区四区| 精品国产亚洲一区二区在线观看| 91综合久久爱com| 中文字幕一区二区三区日韩精品 | 成人小电影网站| 国产专区精品| 久久中文字幕导航| 久久成人福利| 久久久久九九精品影院| 久久av电影| 久久免费精品| 国产一区二区三区精品在线观看| 国产精品高潮呻吟久久久久| 久久国产精品免费一区二区三区| 亚洲美女91| 亚洲精品影院在线观看| 免费人成精品欧美精品| 免费欧美日韩| 久久亚洲风情| 丝袜国产日韩另类美女| 亚洲一区二区三区四区五区午夜 | 精品免费在线| 国产成年精品| 成人在线黄色| 四虎4545www国产精品| 特黄毛片在线观看| 欧美男人天堂| 欧美日中文字幕| 黄色日韩精品| 中文字幕一区二区三区日韩精品 | 一区二区高清| 日本在线视频一区二区| 91精品啪在线观看国产爱臀| 国产欧美日韩视频在线| 你懂的亚洲视频| 精品五月天堂| 国产91久久精品一区二区| 亚洲免费激情| 日韩有码av| 麻豆一区二区在线| 麻豆国产精品一区二区三区| 亚洲三级欧美| 欧美日韩日本国产亚洲在线 | 精品日韩一区| 久久人人97超碰国产公开结果| 不卡中文字幕| 中文字幕中文字幕精品| 国产日韩欧美中文在线| 成人综合一区| 自由日本语亚洲人高潮| 亚洲精品中文字幕99999| 国产精品一区二区精品视频观看 | 欧美日韩国产传媒| 蜜桃传媒麻豆第一区在线观看| 国产日韩亚洲| 日韩毛片视频| 老司机精品久久| 国产精品亚洲成在人线| 黄毛片在线观看| 午夜日本精品| 日韩不卡手机在线v区| 国产一区福利| 在线国产一区二区| 久久国际精品| 日韩一区二区三区免费播放| 视频一区二区欧美| 久久99性xxx老妇胖精品| 99精品美女| 蜜臀va亚洲va欧美va天堂| 国产美女亚洲精品7777| 色在线视频观看| 中文字幕日本一区| 久久精品资源| 99热免费精品| 国产精品115| 激情自拍一区| 日韩av午夜在线观看| av在线日韩| 青青草伊人久久| 亚洲一级网站| 国产精品白浆| 亚洲少妇一区| 国产一区二区三区精品在线观看 | 国产精品一国产精品k频道56| 国产成人精品亚洲日本在线观看| 中文一区一区三区免费在线观| 日本一二区不卡| 三级亚洲高清视频| 欧美黑人巨大videos精品| 国产欧美三级| 日韩午夜在线| 97精品国产一区二区三区 | 精品日韩一区| 一区二区亚洲视频| 三上悠亚国产精品一区二区三区 | 国产日韩一区二区三免费高清 |