一、什么是规格参数
对商品参数的描述,如图
属于同一个类目的商品的规格项相同
规格参数如何存储
-
方式一(不推荐): 多表存储,把规格项,规格属性分别放到不同的表中存储
关联的表过多,会给数据库造成很大压力 -
方式二: 只用一张表存储不同类目商品的模板,模板中包括了该类目商品的所有规格项和其规格属性
[ { "group": "主体", //规格项名称 "params": [ // 规格项属性 {"k":"品牌","v":"苹果(Apple)"}, {"k":"型号","v":"iPhone 6 A1586"}, {"k":"颜色","v":"金色"}, {"k":"上市年份","v":"2014"}, ] }, ... { "group": "网络", //规格项名称 "params": [ // 规格项属性 {"k":"4G网络制式","v":"移动4G(TD-LTE)/联通4G(FDD-LTE)/电信4G(FDD-LTE)"}, {"k":"3G网络制式","v":"移动3G(TD-SCDMA)/联通3G(WCDMA)/电信3G(CDMA2000)"}, {"k":"2G网络制式","v":"移动2G/联通2G(GSM)/电信2G(CDMA)"} ] } ]
三、如何用模板思想存储规格参数
- 准备两张表: 模板表和模板数据表
模板表:存储不同类别的商品规格模板
数据表:存储不同商品的规格数据
四、规格数据的读写
- 存: 将格式如方式二所示的规格数据转化为json格式的数据(String),存入数据库
- 取: 将json格式的数据从数据库中读出放入String中,再转化为java对象(如List < Map >),和html拼接后以字符串的形式传给前端
五、规格参数模板的使用
- 新增/编辑/删除模板
- 添加/编辑商品时修改规格数据 :新增/编辑前根据商品类目id回调展示规格参数模板来修改相关数据
- 前端页面显示规格数据