电商第二天:
回顾:
1. 讲了电商特性:技术架构:
2. 电商的环境搭建:
安装:docker容器
mysql
redis
mq
es
minio
nacos
sentinel
zipkin
3. hosts 配置文件作用:
IP 域名
重点:
1. 完成商品的平台属性管理
项目搭建:
gmall-parent: 父工程 定义jar 版本 pom.xml pom maven
common:
common-util
service-util
model
Index:
Type: 7.8.0 取消 默认"_doc"
Document:
Field:
service:
service-product
spring boot: 自动添加很多依赖 web tomcat! spring springmvc
maven: 空的项目,需要什么添加什么依赖!
重点:依赖,继承,聚合! 本地仓库配置! 改settings.xml 中的路径!
商品的基本知识:
分类:
位置:商品首页
作用:帮助用户进行过滤商品
数据表:
一张表:
三张表:采用
basecategory1; id
basecategory2; category1_id
basecategory3; category2_id
通过主外键进行关联!
平台属性:
位置:商品检索列表
作用:帮助用户进行过滤商品
平台属性:平台属性值 对应关系
1:n
数据表:
baseAttrInfo; 平台属性 id
baseAttrValue; 平台属性值 attr_id
分类Id 与 平台属性是否有关系?
有! 跟三级分类Id,二级分类Id 有关系!
尚品汇:一级,二级,三级分类Id 都关联上! 层级Id 与平台属性表进行关联!
销售属性:
位置:商品详情
作用:给用户提供选择要购买的哪款商品.{SKU}
销售属性:销售属性值对应关系!
1:n
数据表:
暂无....
spuInfo
spuSaleAttr
spuSaleAttrValue
spuImage
spuPoster
slaeAttr
SKU SPU:
SPU:
一组可复用,易检索的标准化信息集合!
SKU:
每种商品均对应有唯一的SKU编号!
demo “手机”
手机:SPU !
vivo iQOO Neo5 活力版 骁龙870 144Hz竞速屏 44W闪充 双模5G全网通手机 8GB+256GB 极夜黑 iqooneo5活力版 SKU!
小米手机:
华为手机:
锤子手机:
小米,华为,锤子 称之为:品牌!
品牌与SPU 有关系!
商品的后台管理系统!
gmall-admin VUE 项目
首先,npm install node_modules 依赖!
C:\Users\Administrator>node -v
v10.15.3
v10.14.x 莫问题!
有可能会出现 node-sass 没找到!
npm install node-sass;
最后:npm run dev
商品的后台微服务创建:
service-product:
1. 修改pom.xml 添加依赖
2. 制作一个配置文件
配置类需要添加 mysql,mybatisplus,redis 等配置
3. 启动类
功能开发:
1. 需要了解功能模块有哪些!
a. 加载分类数据!
b. 根据分类Id 查询平台属性列表!
select *
from base_attr_info
where base_attr_info.category_id = ? and category_level = 1
or base_attr_info.category_id = ? and category_level = 2
or base_attr_info.category_id = ? and category_level = 3;
优化后:
select *
from base_attr_info bai
inner join base_attr_value bav on bai.id = bav.attr_id
where bai.category_id = ? and category_level = 1
or bai.category_id = ? and category_level = 2
or bai.category_id = ? and category_level = 3
order by bai.id;
c. 添加平台属性,修改等操作!
2. 数据来源:
database -- table -- bean!
3. bean ,mapper ,service ,service.impl , controller!
// 加载一级分类数据!
http://localhost/admin/product/getCategory1
// 根据一级分类Id 加载二级分类数据!
// 根据二级分类Id 加载三级分类数据!
mybatis:
两个配置文件:
a. 核心配置文件: mybatis-cfg.xml
1. 配置数据源
2. <mappers>
// 让映射文件与java 接口发生关系: 接口与实现的关系!
// XXXMapper.java 接口 XXXMapper.XML 实现
<mappers>
// <mapper resource = "/com/atguigu/mapper/xxx.xml">
<mapper package = "com.atguigu.gmall.mapper">
</mappers>
b. 映射文件:XXXMapper.xml
参考 BaseAttrInfoMapper.xml
编写接口的时候,一定要注意参数个数!
如果参数只有一个,则不用添加注解,否则要添加一个@Param 注解!
c. 动态sql !
where
if
set
bind
trim
foreach
// 动态代理实现!
UserMapper userMapper = session.getMapper(UserMapper.java);
userMapper.selectByName("Atguigu");
今天任务结束:
github 或 gitee