关于查询所有店铺分类的疑问

关于查询所有店铺分类的疑问

老师说传入一个null的话就会查询所有分类

<if test="shopCategoryCondition!=null">
   and parent_id is not null
</if>

也就意味着传入null的时候不筛选,查出所有类别。
但是这句话的意思是非空的时候就排除parent_id为0的所有类别,

那shopCategoryList=shopCategoryService.getShopCategoryList(new ShopCategory());这里的new ShopCategory()不是空值吗?他就创建了一个对象,为什么会有数据在里面?

能不能解释一下为什么new ShopCategory()就可以查出所有类别,明明是传入null才可以查出所有类别,<if test="shopCategoryCondition==null">
   and parent_id is not null
</if>

不应该是这么写吗?老师请给我解释一下?谢谢。


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学你好,后面那个if条件不满足条件,因为父商品分类为空,所以不会拼写后面的if条件。

例如:

http://img1.sycdn.imooc.com//climg/5f5f44f009aaa82b06310228.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-09-14 14:52:25

同学你好,new ShopCategory()使用new关键字创建的ShopCategory对象是不为空的。对象是否为null与对象中的里面的值无关。

如下:

http://img1.sycdn.imooc.com//climg/5f5f130009ff88cc06380187.jpg

祝学习愉快~

  • 提问者 慕标0359786 #1
    那这样的话,后面那个if条件也满足条件了不是吗,为什么后面那个if不拼接到
    2020-09-14 15:08:27
好帮手慕阿慧 2020-09-14 12:58:57

同学你好,

传入new ShopCategory()这个不是null空对象,所以会有and parent_id is not null的拼接。

如下图:

http://img1.sycdn.imooc.com//climg/5f5ef88b09d3c27b05290170.jpg

第一个if判断传入的对象不为null,则parent_id is not null,表示要根据要根据具体的parent_id进行查询。第二个if则是根据具体parent_id进行查询。同学可以理解为下边的if判断是对上边if判断的补充。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕标0359786 #1
    new ShopCategory()里面没有信息,为什么不是空对象?
    2020-09-14 14:16:39
好帮手慕小脸 2020-09-12 18:21:08

同学你好,

1、上述代码是指传入的shopCategoryCondition为null不满足条件时,就不会拼接and条件,查询出来的就是所有的数据。

2、1)是空的对象

     2)空对象里并没有数据

     3)这里传递一个空的对象,让它不搜索,所以最后查询到的是全部对象。

     4)不应该这样写。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕标0359786 #1
    对啊,空的对象,让它不搜索,这里是一个空对象传进去,就不会有and条件,两个and都不会拼接呀不是吗,那传入new ShopCategory()为什么又有and parent_id is not null的拼接呢?
    2020-09-14 08:02:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师