商城项目---畅购chapter03(第三天)
这个章节视频标题是JWT鉴权,其实是商品管理,不过也能做,鉴权的JWT在第8章节,如果可以做完我会持续更新的,这个远程连接虚拟机,数据库用nvcat有时候连接会报10060得错误,解决办法就是虚拟机重启一下就OK了,前替是你得网段得在一个网段内,建议库还是在本地跑起来比较方便,本地数据库得表我已经整理好了,SPU和SKU的概念,其实就SPU就是统称,SKU就具体的某个商品了其实这些...
这个章节视频标题是JWT鉴权,其实是商品管理,不过也能做,鉴权的JWT在第8章节,如果可以做完我会持续更新的,这个远程连接虚拟机,数据库用nvcat有时候连接会报10060得错误,解决办法就是虚拟机重启一下就OK了,前替是你得网段得在一个网段内,建议库还是在本地跑起来比较方便,本地数据库得表我已经整理好了,
SPU和SKU的概念,其实就SPU就是统称,SKU就具体的某个商品了
其实这些概念理解清楚就是一对多得概念,就好像班级和学生得对应关系,理解起来也不是很难,挺实用得用这个SPU和SKU
这个表结构很多,只要能正常连接数据库就没问题,当然我把库也导到本地了,跑虚拟机可能又很麻烦,又需要得同学可以把库导入到本地。
分类查询得SQL,也是三级分类得ID,不停得查询,根据这个去看看
这里面又用到了代码生成器,其实导入maven得时候直接点击加入pom坐标就可以把模块导入进来了,这样那个地目录得地方就会多个黑色得小方块就证明加载到项目里面了,右边这个导航条得maven在视图
根据父ID查询SQL :刚用代码生成器复制的代码会出错
就是复制得时候一定要先clean一下
然后在启动就正常了,如果启动还是报依赖错误,个人觉得可能是IDEA得问题,可以把第二张得关于brand得增删改查复制在重新建一下环境,在重新复制,这个问题spring mvc - Invocation of init method failed; nested exception is。。我看代码都没问题,依赖也正常,就是编译得问题,之前复制过来得时候没有注意很容易报这种奇怪得错误,代码最好先备份一下
在使用 service 层利用 spring 的注解 Autowired 注入 Mybatis 的 Mapper 时,IDEA 认为找不到 Bean 会红线提示,实际项目正常运行,但是看起来代码像是报错了,让人不舒服。可以降低错误提示级别改为 Warning。如下,setting - Editor -Inspections - spring - spring core - code - Autowiring for bean class修改为warning即可。我这是IDEA 2019.2.2版本的,不同版本的可能有所差异,但都是在Inspections 下,自己找下即可
根据父ID查询所有子分类
结果显示
根据分类ID查询品牌
结果显示
根据分类ID查询规格信息
Controller:
Service:
结果显示
根据分类ID查询商品参数
Controller:
Service:
结果显示:
新增商品,这个新增商品比较麻烦,一个是添加SPU的同时在添加SKUapplication.yml文件里得这个地方要加上不然会idwork会报错,字体为蓝色就是正常得,这个新增商品其实也是要同事往几张表里添加数据和读数据,同事GoodApplication业要进行修改
读取里面得idwork属性这个是添加得
Service:
结果显示:
添加得时候注意这个里面得json要写双引号里面要加转义字符这个JSON得格式讲义里面得写得不全,数据又点多,一定要写多不然前台JSON会报错
JSON:
{
"spu": {
"name": "这个是商品名称",
"caption": "华为手机大促销",
"brandId": 8557,
"category1Id": 1,
"category2Id": 59,
"category3Id": 64,
"freightId": 0,
"image": "http://www.changgou.com/image/1.jpg",
"images": "http://www.changgou.com/image/1.jpg,http://www.changgou.com/image/2.jg",
"introduction": "这个是商品详情,html代码",
"saleService": "七天包退,闪电退货",
"sn": "020102331",
"specItems": "{\"颜色\":[\"红\",\"绿\"],\"机身内存\":[\"64G\",\"8G\"]}",
"paraItems": "{\"出厂年份\":\"2019\",\"赠品\":\"充电器\"}",
"status":"1",
"saleNum":0,
"isEnableSpec":"1",
"isMarketable":"1",
"commentNum":0,
"templateId": 42
},
"skuList": [{
"sn": "10192010292",
"num": 100,
"alertNum": 20,
"price": 900000,
"spec": "{\"颜色\":\"红\",\"机身内存\":\"64G\"}",
"image": "http://www.changgou.com/image/1.jpg",
"images": "http://www.changgou.com/image/1.jpg,http://www.changgou.com/image/2.j", "status": "1",
"weight": 130
},
{ "sn": "10192010293",
"num": 100,
"alertNum": 20,
"price": 900000,
"spec": "{\"颜色\":\"红\",\"机身内存\":\"64G\"}",
"image": "http://www.changgou.com/image/1.jpg",
"images": "http://www.changgou.com/image/1.jpg,http://www.changgou.com/image/2.j", "status": "1",
"weight": 130
}
]
}
Controller
根据SPUID查询商品
Service:
Controller
结果显示:
修改商品
Service:
结果显示
商品审核:
结果显示
商品下架
商品上架
商品批量上架
结果显示
这些全是接口得测试,因为是前后端分离得项目,所以前端得界面,暂时没有引入,后面做完之后会把整个前端得界面在引入进来,前期就是接口得调试工作,本地数据库
更多推荐
所有评论(0)