姓名:钱骏琪
学号:202031990423
班级:软件工程2002
- 系统介绍
本次实验为购物系统的后端开发部分,所有的接口将自定义类Result作为统一的返回类型。在Result类中,封装了接口返回的对象(data)、接口运行的结果(code)、接口运行的提示信息(msg)。拟定存在使用Vue框架开发的前端队友,在前端页面进行请求时,Result对象封装了所有的响应信息,并保存在了data里。前端队友读取这些信息后,做出需要的页面展示即可。
由于实现真正的网上购物系统需要调取用户真实的信息(如账户信息、货币等),本实验难以实现,故采用模拟的形式,赋予创建的用户虚拟的余额,并保存到用户信息表中。
本系统实现的接口有:
- 登录模块:
- 登录
- 注册
- 修改密码
- 购物模块:
- 展示商品信息
- 添加到购物车
- 购物车模块
- 查看用户购物车信息
- 增加商品的数量
- 减少商品的数量
- 删除选中的商品
- 结算购物车
实现上述接口后,可以完成较为完整的网上购物系统。由于未找到前端队友进行前端页面的展现,本次实验采用PostMan代替请求、响应的模拟,并在后续的文本中展示测试的截图。
- 技术栈的选择
本次实验选择使用的技术栈有:Spring+SpringMVC+MyBatis,采用注解式开发。其中,Spring采用了AOP的思想,SpringMVC遵循REST开发规范,MyBatis则采用注解代替了繁琐的映射关系创建。
导入的依赖有:
- spring-mvc(5.2.10.RELEASE) (包含了spring-context)
- javax.servlet-api(3.1.0)(必须设置scope为provided,否则与其他依赖冲突)
- spring-jdbc(5.2.10.RELEASE)(使数据库与Spring适配)
- mybatis(3.5.10)
- mybatis-spring(1.3.0)(使mybatis与Spring适配)
- jackson-databind(2.9.0)
- druid(1.1.16)(作为数据库的连接池)
- mysql-connector-java(8.0.27)
- aspectjweaver(1.9.4)(AOP的依赖)
- Junit(4.12)(必须在4.12以上,否则无法正确读写数据库)
为了实现上述技术栈的搭建,需要
- 数据建模
数据建模的ER图:
表1 用户信息表
字段 |
数据类型 |
字段描述 |
字段长度 |
是否主键 |
是否为空 |
id |
Integer |
用户的唯一标识 |