乐优商城sql,表tb_spec_param,tb_spec_group和tb_spu_detail,和对应实体类

  • 视频缺失的表
  • 对tb_spec_group和tb_spec_param转化过程
  • 最后

视频缺失的表

表的结构和实体类是暂停视频,跟着敲出来的,数据则是我根据表tb_specification的specifications,创建一个对应实体类,然后用java代码生成的,除了tb_spec_group和tb_spec_param之外,我还对tb_spu_detail,扩充了generic通用规格参数和special这两个字段,然后通过tb_spec_group和tb_spec_param这两张表,对这两个新字段数据进行填充,这些后面做搜索都可以用到
1.SpecGroup

@Data
@Table(name = "tb_spec_group")
public class SpecGroup {@Id@KeySql(useGeneratedKeys = true)private Long id;private Long cid;private String name;
}

2.SpecParam

@Data
@Table(name = "tb_spec_param")
public class SpecParam {@Id@KeySql(useGeneratedKeys = true)private Long id;private Long cid;private Long groupId;private String name;@Column(name = "`numeric`")private Boolean numeric;private String unit;private Boolean generic;private Boolean searching;private String segments;
}

3.sql文件
链接:https://pan.baidu.com/s/1wJpvFC8oNjU7-P7DrxXDTg
提取码:cqbp
复制这段内容后打开百度网盘手机App,操作更方便哦

对tb_spec_group和tb_spec_param转化过程

1…随机选取表tb_specification的specifications的一个数据,通过观察可以知道这个是一个List集合,集合装着的对应的类型对象

2.数据对应的类

@Data
public class JsonObject {private String group;//组名private List<Param> params;//param数组private Boolean empty;//未知,原来没加,然后空指针异常,在某条数据上发现的
}
@Data
class Param {private String k;//param名private Boolean searchable;//可否搜索private Boolean global;//是否通用属性参数private Boolean numerical;//是否是数字类型参数private String unit;//数字类型参数的单位,非数字类型可以为空private String v;//param值,后面用到private List<String> options;//待选项集合
}

3.表tb_spec_group添加数据

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpecGroupMapperTest {@Autowiredprivate SpecificationMapper specificationMapper;@Autowiredprivate SpecGroupMapper specGroupMapper;@Testpublic void test(){//从表‘tb_specification’获取规格参数集合List<Specification> specifications = specificationMapper.selectAll();//遍历规格参数集合for (Specification specification : specifications) {//获取具体规格参数String spec = specification.getSpec();//将规格参数转为对象List<JsonObject> jsonObjects = JsonUtils.parseList(spec, JsonObject.class);for (JsonObject jsonObject : jsonObjects) {String group = jsonObject.getGroup();SpecGroup specGroup = new SpecGroup();specGroup.setId(null);specGroup.setCid(specification.getCategoryId());specGroup.setName(group);int insert = specGroupMapper.insert(specGroup);System.out.println("insert = " + insert);}}}
}

结果:

4.表tb_spec_param添加数据

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpecparamMapperTest {@Autowiredprivate SpecParamMapper specParamMapper;@Autowiredprivate SpecGroupMapper specGroupMapper;@Autowiredprivate SpecificationMapper specificationMapper;@Testpublic void test(){//从表‘tb_specification’获取规格参数集合List<Specification> specifications = specificationMapper.selectAll();int count = 0;//遍历规格参数集合for (Specification specification : specifications) {//获取具体规格参数String spec = specification.getSpec();//将规格参数转为对象List<JsonObject> jsonObjects = JsonUtils.parseList(spec, JsonObject.class);for (JsonObject jsonObject : jsonObjects) {String group = jsonObject.getGroup();SpecGroup specGroup = new SpecGroup();specGroup.setName(group);//获取规格参数groupList<SpecGroup> groupList = specGroupMapper.select(specGroup);//组idLong groupId = null;//因为specGroup有两个相同组名,需要进行判断if (groupList.size() == 1){groupId = groupList.get(0).getId();}else {if (count == 0){count++;groupId = groupList.get(0).getId();}else {groupId = groupList.get(1).getId();}}//遍历规格参数paramsfor (Param param : jsonObject.getParams()) {SpecParam specParam = new SpecParam();specParam.setId(null);specParam.setCid(specification.getCategoryId());specParam.setGroupId(groupId);specParam.setName(param.getK());//有些数据是空的需要先过滤一下specParam.setGeneric(param.getGlobal() == null ? false : param.getGlobal());specParam.setNumeric(param.getNumerical() == null ? false : param.getNumerical());specParam.setSearching(param.getSearchable());specParam.setUnit(param.getUnit() == null ? "" : param.getUnit());//表‘tb_specification’中没有这个数据,先设置为空字符串,后面再手动设置specParam.setSegments("");int insert = specParamMapper.insert(specParam);System.out.println("insert = " + insert);}}}}}

结果(Segments这个字段是根据视频 手动添加的):

最后

因为是第一次写博客,而且数据是通过转换得来的,可能会有些问题(目前暂时没遇到),还有一个表tb_spu_detail新增字段数据的添加过程,这次没写,下次有时间再补充,如果有什么问题的话,欢迎大家随时指正,谢谢!

传智黑马乐优商城sql,表tb_spec_param,tb_spec_group和tb_spu_detail,和对应实体类相关推荐

  1. 乐优商城(十)用户注册

    文章目录 1. 搭建用户微服务 1.1 用户微服务的结构 1.2 创建 leyou-user 1.3 创建 leyou-user-interface 1.4 创建 leyou-user-service ...

  2. java传智百度_2018年4月传智黑马java

    资源内容: 2018年4月传智黑马java|____JAVA课件(IDEA版课件)          |____Java基础          |____JavaWeb          |____优 ...

  3. 【javaWeb微服务架构项目——乐优商城day15】——会调用订单系统接口,实现订单结算功能,实现微信支付功能

    0.学习目标 会调用订单系统接口 实现订单结算功能 实现微信支付功能 源码笔记及资料: 链接:https://pan.baidu.com/s/1_opfL63P1pzH3rzLnbFiNw 提取码:v ...

  4. 【javaWeb微服务架构项目——乐优商城day03】——(搭建后台管理前端,Vuetify框架,使用域名访问本地项目,实现商品分类查询,cors解决跨域,品牌的查询)

    乐优商城day03 0.学习目标 1.搭建后台管理前端 1.1.导入已有资源 1.2.安装依赖 1.3.运行一下看看 1.4.目录结构 1.5.调用关系 2.Vuetify框架 2.1.为什么要学习U ...

  5. 乐优商城源码/数据库及笔记总结

    文章目录 1 源码 2 笔记 2.1 项目概述 2.2 微服务 3 项目优化 4 项目或学习过程中涉及到的设计模式 5 安全问题 6 高内聚低耦合的体现 7 项目中待优化的地方 1 源码 Github ...

  6. 【javaWeb微服务架构项目——乐优商城day05】——商品规格参数管理(增、删、改,查已完成),SPU和SKU数据结构,商品查询

    乐优商城day05 0.学习目标 1.商品规格数据结构 1.1.SPU和SKU 1.2.数据库设计分析 1.2.1.思考并发现问题 1.2.2.分析规格参数 1.2.3.SKU的特有属性 1.2.4. ...

  7. 乐优商城之分类查询品牌查询(八)

    文章目录 (一)编写分类查询 (二)跨域问题 (三)cors跨域原理 (四)解决跨域问题 (五)品牌查询页面分析 (六)品牌查询后台代码 (七)分页查询排序的原理 (八)axios (一)编写分类查询 ...

  8. 乐优商城(05)--商品管理

    乐优商城(05)–商品管理 一.导入图片资源 现在商品表中虽然有数据,但是所有的图片信息都是无法访问的,因此需要把图片导入到服务器中: 将images.zip文件上传至/leyou/static目录: ...

  9. 学习乐优商城中遇到的坑

    本人暑假期间学习了乐优商城这个项目,历时二十天,遇到了许多的麻烦,应该会有挺多人遇到.所以想记录一下,让大家跳坑. 首先,我建议jar包的版本,都选择和老师的一样,不然会出现一些莫名奇妙的报错. 在本 ...

最新文章

  1. 背景图自适应屏幕居中显示,且不变形
  2. 【 C 】在单链表中插入一个新节点的尝试(一)
  3. 《女仆咖啡帕露菲》香浓背后,激励的力量
  4. [HEOI2013]ALO(待更)
  5. Java中JDK安装以及环境变量设置
  6. Win10开启Linux调试adb(从此告别虚拟机)
  7. 单调队列:temperature
  8. linux python2.7 sqlite3_为Python安装准备_tkinter和sqlite3(无管理员权限)
  9. 一、数据挖掘—初识数据挖掘
  10. 计算指定位数的圆周率
  11. 【旋转摆正验证码】知苗易约小程序旋转摆正验证码识别——识别解绝方法
  12. html 6是什么格式,ac6是什么格式
  13. 关于vue的组件重新加载
  14. Emlog程序CYP音乐主题模板源码
  15. 兄弟1218无线打印服务器错误,兄弟无线打印机无法打印怎么办?
  16. learnopengl——Specular IBL——貌似读懂了
  17. Directshow完整介绍
  18. 海康相机html网页源码,海康摄像头 Web3.2_控件
  19. 浙江杭州工程师职称评审论文要求
  20. word中的标记、分页、批量标题设置、多级列表设置

热门文章

  1. FullCodePress采访:蒂姆·康纳(Tim Connor),新西兰队
  2. mysql/postgres数据库全备份脚本
  3. 北京大学软件与微电子学院计算机技术,北京大学软件与微电子学院计算机技术(专业学位)保研...
  4. eclipse更换国内镜像,提高下载安装插件的速度
  5. ​改善行人和骑自行车者的十字路口指南(英) (附下载)
  6. win10+python环境yolov5s预训练模型转onnx然后用openvino生成推理加速模型并测试推理
  7. c2061 dword 语法错误_SDK中sample的编译错误.doc
  8. Typora下载以及保存
  9. 字节码文件(Class文件)结构解读、理解与分析
  10. 软件产品需求管理工具哪个好?国内知名产品管理工具使用体验分享