加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

纵表的数据处理方式

发布时间:2020-12-14 04:51:23 所属栏目:大数据 来源:网络整理
导读:众所周知,纵表容易扩展,但是数据不直观,应用起来比较麻烦,横表容易理解,数据便于处理,但是如果增加字段,就需要修改数据库。两者有不同的应用场景,具体参考我的另一篇文章: https://blog.csdn.net/hanruikai/article/details/79730028 在设计信用卡

众所周知,纵表容易扩展,但是数据不直观,应用起来比较麻烦,横表容易理解,数据便于处理,但是如果增加字段,就需要修改数据库。两者有不同的应用场景,具体参考我的另一篇文章:

https://blog.csdn.net/hanruikai/article/details/79730028


在设计信用卡模块时,由于信用卡过滤条件需要配置,便于灵活扩展,所以采用了纵表的处理方式。结构如下:


参数key为过滤条件。

在数据处理时,比如读取所有信用卡信息以及配置参数,利用map存储,key为credit id,value为一个map,用来存储参数。

可以对某个key单独进行特殊逻辑处理,比如把value拆分。

最后,遍历map,key为信用卡id,这个前端并不关心,去掉这个层,把作为value对map放入list中,返回前端即可

for (CreditCardInfoAndParam creditCardInfoAndParam : creditCardInfoAndParamList) {
            if (!creditIdList.contains(creditCardInfoAndParam.getId())) {
                creditIdList.add(creditCardInfoAndParam.getId());
            }
            JSONObject paramJson = json.getJSONObject(creditCardInfoAndParam.getId().toString());
            if (paramJson == null) {
                paramJson = new JSONObject();
                paramJson.put("creditCardName",creditCardInfoAndParam.getCreditCardName());
                paramJson.put("creditCardOrder",creditCardInfoAndParam.getCreditCardOrder());
                paramJson.put("state",creditCardInfoAndParam.getState());
                paramJson.put("bankId",creditCardInfoAndParam.getBankId());
            }
            if (creditCardInfoAndParam.getParamKey().equalsIgnoreCase(Constants.BRIGHT_SPOT)){
                paramJson.put(creditCardInfoAndParam.getParamKey(),creditCardInfoAndParam.getParamValue().split(","));
            }
            else {
                paramJson.put(creditCardInfoAndParam.getParamKey(),creditCardInfoAndParam.getParamValue());
            }
            json.put(creditCardInfoAndParam.getId().toString(),paramJson);
        }
        for (Long id:creditIdList){
            creditCardArray.add(json.getJSONObject(id.toString()));
        }
jsonobject其实就是个map,jsonarray是个list

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读