CGB2109-Day14-商品分类实现

1. 商品分类实现

1.1 优化商品分类列表

1.1.1 优化策略

数据结构: Map<parentId, 当前父级下的子级>
例子:
Map<0, 所有的一级菜单>
Map<一级ID, 当前一级下的二级菜单>
Map<二级ID, 当前二级下的三级菜单>

设计的优势:
如果将数据保存到Map集合中,则可以有效的降低数据库的访问的次数. 提高查询效率.

1.1.2 封装Map集合

/**
     * 思路:
     *      1.判断map集合中是否存在key
     *      2.如果key 不存在 准备一个新list集合,将自己作为第一个元素添加
     *      3.如果key 存 在  获取list集合,将自己追加.
     * @return
     */
    public Map<Integer,List<ItemCat>> getMap(){
        Map<Integer,List<ItemCat>> map = new HashMap<>();
        //1.查询数据库的所有的记录
        List<ItemCat> list = itemCatMapper.selectList(null);
        for(ItemCat itemCat : list){
            int key = itemCat.getParentId();
            if(map.containsKey(key)){ //true 有数据
                map.get(key).add(itemCat);
            }else{  //false 没有数据
                List<ItemCat> childrenList = new ArrayList<>();
                childrenList.add(itemCat);
                map.put(key,childrenList);
            }
        }
        return map;
    }
上一篇:D365 FO 枚举类型construct


下一篇:C++基础Day14