gulimall-categoryController-NullPointerException

Strind / 2023-08-28 / 原文

NullPointerException

环境

在练习gulimall项目时,写到CategoryController时,本来正常运行的项目突然报空指针NullPointerException;

@Override
    public List<CategoryEntity> listWithTree() {
        //查询所有分类
        List<CategoryEntity> entities = baseMapper.selectList(null);

        //找出一级分类
        List<CategoryEntity> level1Menus = entities.stream()
                .filter((categoryEntity) -> {
            return categoryEntity.getParentCid() == 0;
        }).map((menu)->{
            //查询子菜单
            menu.setChildren(getChildren(menu,entities));
            return menu;
        }).sorted((m1,m2)->{
           //进行排序
           return (m1.getSort() == null ? 0 : m1.getSort()) - (m2.getSort() == null ? 0 : m2.getSort());
       }).collect(Collectors.toList());

        return level1Menus;
    }

原因及解决方法

在之前进行逻辑删除操作时,往数据库里添加了几条数据,例如最后一条,这时它的patent_cid是null,只需要给一个具体的值就可以了。