全栈开发实战|电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)

全栈开发实战|电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
文章图片
学习目的与要求
本章通过一个小型的电子商务平台 , 讲述如何使用SpringBoot+Thymeleaf+MyBatis开发一个Web应用 , 其中主要涉及的技术包括Spring与SpringMVC框架技术、MyBatis持久层技术、Thymeleaf表现层技术 。 通过本章的学习 , 掌握基于Thymeleaf+MyBatis的SpringBootWeb应用开发的流程、方法以及技术 。
01
系统设计
电子商务平台分为两个子系统 , 一是后台管理子系统 , 一是电子商务子系统 。 下面分别说明这两个子系统的功能需求与模块划分 。
1

系统功能需求
1.后台管理子系统
后台管理子系统要求管理员登录成功后 , 才能对商品进行管理 , 包括添加商品、查询商品、修改商品以及删除商品 。 除商品管理外 , 管理员还需要对商品类型、注册用户以及用户的订单等进行管理 。
2.电子商务子系统
1)非注册用户
非注册用户或未登录用户具有的功能如下:浏览首页、查看商品详情以及搜索商品的功能 。
2)用户
成功登录的用户除具有未登录用户具有的功能外 , 还具有购买商品、查看购物车、收藏商品、查看订单、查看收藏以及查看用户个人信息的功能 。
2

系统模块划分
1.后台管理子系统
管理员登录成功后 , 进入后台管理主页面(selectGoods.html)可以对商品、商品类型、注册用户以及用户的订单进行管理 。 后台管理子系统的模块划分 , 如图9.1所示 。
全栈开发实战|电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
文章图片
■图9.1后台管理子系统
2.电子商务子系统
非注册用户只可以浏览商品、搜索商品 , 不能购买商品、收藏商品、查看购物车、查看用户中心、我的订单和我的收藏 。 成功登录的用户可以完成电子商务子系统的所有功能 , 包括购买商品、支付等功能 。 电子商务子系统的模块划分 , 如图9.2所示 。
全栈开发实战|电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
文章图片
■图9.2电子商务子系统
02
数据库设计
系统采用加载纯Java数据库驱动程序的方式连接MySQL5.5数据库 。 在MySQL5.5中创建数据库ch9 , 并在ch9中创建8张与系统相关的数据表:ausertable、busertable、carttable、focustable、goodstable、goodstype、orderdetail和orderbasetable 。
1

数据库概念结构设计
根据系统设计与分析 , 可以设计出如下数据结构:
1.管理员
包括管理员ID、用户名和密码 。 管理员的用户名和密码由数据库管理员预设 , 不需要注册 。
2.用户
包括用户ID、邮箱和密码 。 注册用户的邮箱不能相同 , 用户ID唯一 。
3.商品类型
包括类型ID和类型名称 。 商品类型由数据库管理员管理 , 包括新增和删除管理 。
4.商品
包括商品编号、名称、原价、现价、库存、图片以及类型 。 其中 , 商品编号唯一 , 类型与“3.商品类型”关联 。
5.购物车
包括购物车ID、用户ID、商品编号以及购买数量 。 其中 , 购物车ID唯一 , 用户ID与“2.用户”关联 , 商品编号与“4.商品”关联 。
6.收藏商品
包括ID、用户ID、商品编号以及收藏时间 。 其中 , ID唯一 , 用户ID与“2.用户”关联 , 商品编号与“4.商品”关联 。
7.订单基础信息
包括订单编号、用户ID、订单金额、订单状态以及下单时间 。 其中 , 订单编号唯一 , 用户ID与“2.用户”关联 。