手把手教你写购物车(完整篇1)

本文手把手教你实现购物车功能,从设计思路到技术选型,涉及Cookie、Session和Redis的使用。重点讲解Redis的多种数据类型在购物车场景中的应用,并给出了京东购物流程的例子,阐述商品价格与商品表的关系。项目采用SpringBoot,集成JPA和Swagger,通过目录结构和关键代码展示实现细节。
摘要由CSDN通过智能技术生成

购物车的设计与思路

1:在做任何业务的时候,首先要做的是把思路的流程捋清楚。再进行代码的编写,以及实现!
2:对业务涉及到的技术,如果没接触过的,首先要学习至会用为止。
3:如果思路不是很清楚的,可以查找类似的案列情况,学习思路流程。
4:具体的业务情况,还是要根据自己的情况,进行设计。

开始讲购物车,涉及的技术知识

1:Cookie —>cookie数据存放在客户的浏览器上
2:Session —>session数据放在服务器上
3:Redis —>储存的数据类型:(字符串) String, (集合) List, (哈希) hash, (集合) set, (有序集合) sorted set)

先看几个图片吧

这是京东的购物流程(用户未登录的情况下的)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这是用户登录以后的流程。就拿买手机举例子。
同一个手机,比如荣耀20,不同参数的价格不同(6+64G的,和8+128G的)
这个例子是为了说明,价格不一定在商品表内。
价格表可能是独立出来的一张表,且与商品表是多对一的关系
商品表(一)-----------> 价格表(多)

在这里插入图片描述

在这里插入图片描述

这里,我把表结构设计一下
Product 商品表 (可以在数据库建表)
Price 价格类别表 (可以在数据库建表)
ShoppingCart 购物车类 (暂存表,数据存到Redis中去)
ShoppingItem 购物项类 (暂存表,数据存到Redis中去)

搭建SpringBoot项目工程
引入相关的依赖,关于jedis的,fastjson的依赖
Swagger是接口测试的工具。(有兴趣的可以看看我写的有一篇关于Swagger的文章,简单配置使用)
这里,持久层 我用的是JPA,不是Mybatis

<!-- 引入Swagger的依赖工具 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值