category==null我觉得很多余?

来源:8-3 后台获取商品详情功能开发及PropertiesUtil配置工具,DateTimeUtil时间处理工具开发

慕容0166988

2018-03-10

 //这里是根据上面的对象获取,而categoryid是每个插入进来的数据都有的,怎么会有null这种情况呢,而这个条件就不成立

        Category category = categoryMapper.selectByPrimaryKey(product.getCategoryId());

        if(category == null){

//这里当然也就不需要设置什么0?

            productDetailVo.setParentCategoryId(0);//默认根节点

        }else{

            productDetailVo.setParentCategoryId(category.getParentId());

        }


写回答

2回答

Geely

2018-03-11

你好,同学,是这样的。

category==null

主要是提高一个健壮性,因为在实际的外网网站中,会有不怀好意的一些攻击,例如试探性的注入等,这里如果传入一个DB中不存在的分类,那么就有可能是null,这样后台还会出现NPE的一个异常。

然后看了你的理解,非常正确,赞同学的思考~

0
2
Geely
回复
慕容0166988
不用客气哈
2018-03-13
共2条回复

慕容0166988

提问者

2018-03-10

 //根据id查找,有则代表是

        Category category = categoryMapper.selectByPrimaryKey(product.getCategoryId());

        //这个用户在选择的时候可能没有选择分类,直接相当于是默认,默认的话这里传入的就是别的数字例如-0就从数据库查找不出来

        if(category == null){//这里就可能是等于null

        //直接设置默认是父节点就好,

            productDetailVo.setParentCategoryId(0);//默认根节点

        }else{

            productDetailVo.setParentCategoryId(category.getParentId());

        }

请问各位老师理解的对吗

0
0

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程