商品的spu是什么意思「数据结构到底是什么」

互联网 2023-06-03 11:31:28

今天给大家普及一下商品的spu是什么意思「数据结构到底是什么」相关知识,最近很多在问商品的spu是什么意思「数据结构到底是什么」,希望能帮助到您。

今天是刘小爱自学Java的第150天。

感谢你的观看,谢谢你。

学习计划安排如下:

昨天实现了商品规格参数组业务,今天继续实现其对应的规格参数。理清楚SPU和SKU的概念,同时分析对SPU的数据表设计。一、规格参数业务实现

1业务需求分析

昨天实现了规格参数组相关的业务,点击商品分类,可以查看到其对应的规格参数组信息。

比如上图中“手机”这个商品分类的规格参数组有:主体、基本信息和操作系统。

现在我们要实现的需求是:

点击相应的规格组,会跳转到其规格参数的页面,也就是该规格组下有哪些规格参数?

具体数据需要我们从数据库中查询,因为我这边业务还未完成,所以显示的数据为:“该分组下没有参数”。

2请求相关分析

无外乎还是要弄清楚四大内容:

请求路径:真实路径就是spec/params。请求方式:GET请求。请求参数:gid,也就是规格参数组id。返回值:是一个规格参数数组。

好,弄清楚了这四点,就可以写后台代码了。

3实体类和数据表

关于实体类有一个知识点要说明下。

numeric这个字段在mysql数据库中是一个关键字,会有冲突。

面对这个问题有两种解决方式:

①使用注解@Colum

说明关键字字段是哪个一个即可,但是该方式若是有多个关键字需要一一说明。

②配置文件中配置

也可以在yam文件中如图中配置。

注意:该配置只在mysql数据库中有用。

3Java三层架构

①Controller层代码编写

根据请求相关的四大内容即可完成Controller层的代码编写。

注意请求参数gid是以问号的形式拼接到请求路径中的,所以使用注解@RequestParam。

②Service层代码编写

使用通用mapper完成查询操作:因为不是主键查询,所以创建对应的实体类对象,将gid赋值给该对象,最后根据该对象完成查询。

③Mapper层代码编写

继承通用mapper提供的Mapper接口即可,在泛型中说明对应的实体类SpecParam。

4测试

我们再次在管理系统中点击对应的规格参数组,就能查询到对应的规格参数了。

上图中就是“主体”这个规格参数组,从数据库中查询到了3个规格参数,此外还有:

新增业务对应新增参数按钮。修改业务对应修改按钮。删除业务对应删除按钮。

关于这三个业务就暂且不一一说明了,其实无外乎就还是这么一个思路。

二、SPU和SKU数据结构

SPU和SKU是电商中两个非常重要的概念。

1什么是SPU和SKU呢?

SPU全称为Standard Product Unit,翻译过来就是标准产品单位。SKU全称为Stock Keeping Unit,翻译过来就是库存量单位。

这种官方定义看起来好像挺难理解的,我以某电商网站某品牌手机为例作个说明:

思考问题:上图是一个商品么?

它不是一个具体的商品,它是一个SPU,我通过选择不同的属性可以组合成多个商品。

SPU是商品的共有集,并不是固定某个商品。

比如上图中手机有三种颜色可以选择,手机内存也有4种可以选择。

而SKU才是具体的某个商品。

比如陶瓷黑、8G 128GB内存…等每一项都确定好之后的商品才是一个SKU。

通俗理解就是我们购买订单页面对商品的详细说明,就是一个SKU。

每一个SKU的价格一般是不一样,我们购买的是SKU而不是SPU。

2SPU数据表设计分析

在数据库中其被拆分成了两张表,我们具体做一个分析:

商品①:陶瓷黑、8G 128GB内存…等属性都确定后的一个SKU。

商品②:亮银版、8GB 256GB内存…等属性都确定后的一个SKU。

无论是商品①还是商品②其SPU都是一样的。

其包含有:id、商品名称、品牌id,副标题、商品描述(描述一般都会描述配置最高的那个)、包装、售后服务。

因为关于商品描述这个字段非常的长,所以将SPU表做了一个拆分,将这些描述性字段单独又放在了一个数据表中。

最后

行有不得反求诸己,我是@刘小爱

一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。