复杂Impl代码实现思路引导(适合新手,本文以新增和修改商品为例)
目录
之前小编实现功能的时候总是有些迷茫,简单的就不必说了,稍微复杂一点都感觉乱七八糟,今天恰好写到了实现功能较复杂的模块,好好捋了下实现原理,正好可以给同为新手的朋友指指路。
一、新增商品
我们要明白怎么写,首先我们要想明白细分支的操作有哪些。
那么新增商品细分下来,就是把传入的东西一个个添加进来呗,可能有点要判断传入是否合法,不过这个当前不涉及。
其次,就是我们要明白传过来的数据有哪些。
1.1 明确入参数据
首先Ctrl鼠标悬停入参,点击查看入参数据。

由下图入参数据可知,我们需要配合三张表插入数据:
1是商品数据表,2是商品图片表,3是商品规格项表。

那么现在方法实现我们应该有了以下思路:
- 插入商品数据
- 插入商品图片数据
- 插入商品规格项数据
1.2 逐一实现传参
1.2.1 那么我们很容易就能实现插入商品数据:

我们在goods实体里知道商品图片是一个集合传参,让我们看看里面有什么。

其实不看这个也行,因为我们知道就是把里面的信息依次传入就好了,不过建议养成这个逐级查看的好习惯。
然后我们可以想到思路:
1.2.2 拿到我们要提供图片数据的商品,再获取遍历图片集合,一个个把图片送进去。
我们之前已经实现了商品数据的插入,那么他的id会自增。我们想要拿到提供图片数据的商品,直接获取该商品实体里的主键id就好(这里也体现了代码实现顺序很重要这一点),由此我们就知道怎么实现的了。

ok,那么商品规格也是List集合,实现方式也类似喽。我们先去看看这个里面有什么数据。

可以看见,有商品规格和商品规格项。
那么我们的思路就是:
1.2.3 用一个列表去获取到规格数据,再遍历规格数据,获取到里面的规格项,把这个规格项先存到一个集合里,然后遍历依次插入规格项。

咦?好像很清晰很简单呐!
那我们再来一个吧!神奇宝贝们准备进化了嘛!哈哈哈哈哈
二、修改商品
还是,首先明确细分支的操作有哪些。
传参还是Goods实体里的那些数据,我们可以明确,要修改的无非就那两个:商品图片和规格项。
那么细分支操作就是:
- 删除旧的图片和规格项数据
- 再插入商品数据,从而插入新的图片和规格项数据
好啦,明确了这个,我们很轻易就发现我们在此之前还需要实现一个什么了——删除操作。
2.1 删除操作
要分出个儿依次删除哦,不是一起删的。
2.1.1 删除图片
实现思路很清晰:
找到商品→SQL查询→图片Mapper调用delect方法删除
这是一个单表查询,而且WHERE查询条件简单,所以直接用QueryWapper构造方法在Impl里实现就好。

2.1.2 删除规格项
聪明的你一下子就看出来了这还是单表查询,可以继续用QueryWapper构造方法。
不过既然你发现,那我就不!我们用映射的方法实现一下。嘻嘻,你打我赛。
Mapper:

xml:

mapper调用删除方法实现:

这样我们就完成了目标的删除。
之后的操作就和新增是一样的,直接粘贴过来就好。
2.2 新插入

三、总结
希望这一期文章对刚接触项目实现功能的小伙伴有些帮助,以上均为均为小编个人思考与习惯总结。大家晚安。
更多推荐



所有评论(0)