天天看点

【2019秋冬】【项目】企业级电商平台

第一章

课程介绍,无用

第二章

开发环境安装

JDK

tomcat 一个web容器,可以运行JavaEE程序

maven 方便创建多种项目

ftpserver ftp服务器

Nginx 轻量级web服务器,反向代理服务器 2-21

增加文件服务器是为了后期多个tomcat访问资源时不出错

同样的session问题,可以建一个session服务器

MySQL 数据库

Git

第三章

数据库表结构内容

第四章

项目初始化

数据表

idea

把jdk,maven,tomcat加载到项目中

Mybatis

Mybatis—generator 自动化生成数据库交互代码

Mybatis—plugin 实现mybatis接口文件和实现XML自动跳转

Mybatis—pagehelper 分页组件

在maven的pom文件里添加管理jar包

项目结构

controller 与前端页面交互

service 逻辑代码

dao 连接数据库操作

util 工具类

vo (value object)vo 封装pojo ,传给controller

pojo 数据库对象

common 常量,全局变量,异常

Mybatis—generator

根据数据库自动生成pojo,dao和xml文件

pojo里放的是和DB里一一对应的项

dao层是接口,供service调用

XML是dao层接口的实现,SQL语句在这里

Mybatis—Plugin

XML文件与mybatis接口跳转

Mybatis—PageHelper

分页插件

在pom里把插件引入进来

Spring

官方下载配置文件

Spring是一个轻量级的IOC和APO容器框架

SpringMVC是MVC模式的web框架

第五章 登录模块

1.登录

在controller层接受用户名,密码,session(requestmapping)通过SpringMVC的插件Jackson把对象转为json(responsebody)

controller层调用service,service层里写逻辑代码,调用dao层进行判断

在dao层声明函数,通过Mybatis—PageHelper插件跳转到XML文件进行编写SQL语句

如果登录成功,会把session返回给前端

2.退出登录

把session中的信息删除

3.注册

检测用户名,邮件是否存在(定义了专门检测的函数)

对密码进行MD5加密

4.获取用户信息

存在,直接调用返回

5.忘记密码

获取忘记密码问题

6.忘记密码问题检测

检测到答案正确,创建一个UUID的token,把token放到本地Cache,在本地缓存内采用LRU算法清除

7.重置密码

忘记问题重置

得到token进行对比,校验token是否为空,token正确

直接重置

检测用户密码是否匹配,把新密码MD5 加密,存入

8.更新个人信息

在登录状态下更新

第七章 商品模块

1.后台(管理员)更新或增加商品

判断是否登录,判断是否是管理员,判断商品是否存在,增加或更新业务逻辑

2.修改产品信息

根据主键更新

3.获取产品详情

关于实体类,分为两种PO、VO。

PO主要是用于实现持久层的数据存储。

VO则主要用于逻辑层和表示层之间数据处理封装。service层

PO字段跟数据库的表的列之间一一对应,而VO则根据业务需求,封装特定字段信息。

PO对象跟VO对象之间的数据传递主要在逻辑层进行。

把查到的信息存到VO对象里,传入前端

4.商品列表

在dao层查询,写VO对象,用分页插件传入前端进行分页list

PageHelper分页插件

5.商品搜索

非空的话,通过名字id放入SQL查询,返回结果放入VO传回

6.图片文件上传ftp服务器

controller层 MultipartFile

service层写一个file文件上传接口,完成文件上传操作,文件上传接口内用了写的FTP上传工具类

第八章 购物车模块

购物车内商品和商品管理生成一个VO,购物车单独一个VO

在购物车中计算价格时会考虑库存是否足够,返回提示

计算价格时出现的精度问题用BigDecimal的string构造器

1.加入,更新,删除商品

设置一个购物车VO和购物车与商品合并VO,在购物车与商品联合的VO里,结合具体商品的信息,比如库存,价格等进行计算,再存储到购物车的VO更新到前端

2.全选反选

设置一个标记位,公用一个Mapper层语句,如果想只取消/选择一个商品前端会多传一个商品id,如果没传就是选择/取消全部商品

计算总数

标志位为在购物车中的,计算数量