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