1、系统分析
1.1需求分析
实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想
1.2编程技术简介
本次课程主要使用的软件有Intellij IDEA、Navicate for MySql、Sublime text。
Intellij IDEA:主要用于项目的创建和项目核心代吗的编写,逻辑的实现。
Navicate for MySql:主要用于数据库的管理,可视化的数据表更容易找出项目中的问题。
Sublime text:主要用于前端页面的编写。在tomcat中测试前端页面太麻烦了,所有都是先写出了HTML改好样式,然后改成jsp.
2系统设计
2.1架构设计
Maven:项目管理,主要用来管理jar包
MyBatis:数据库访问,DAO层的编写
MySQL:数据存储。
Bootstrap:后台页面,前台页面使用原生CSS编写样式
2.2系统模块设计
依赖于maven的jar包管理,将该项目分成三个模块,
1、shop-common:工具类模块。
2、shop-management:后台管理模块
3、shop-site:前台商城模块
1、工具类模块:主要是项目用到的工具的编写。DAO层的数据访问、Filter过滤器处理乱码和是否登录的校验。时间类型的转换等功能。
2、后台管理模块:编写一个javaweb项目,实现对商品的后台管理,确保项目运行后不需要修改任何地方的代码。
流程图:
3、前台商城系统:编写一个javaweb项目,实现商品的展示,销售。
流程图:
2.3数据库设计
3效果展示
3.1后台管理中心
3.2商城系统
4、SQL
CREATE DATABASE classshop;
use classshop;
CREATE TABLE `classshop`.`shop` (
`shopId` bigint(20) NOT NULL COMMENT '商品ID',
`categoryId` bigint(20) NOT NULL COMMENT '类别ID',
`name` varchar(45) NOT NULL COMMENT '商品名称',
`level` int(2) NOT NULL COMMENT '商品等级',
`price` int(9) NOT NULL COMMENT '商品价格',
`smallImg` mediumblob NOT NULL COMMENT '图片',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateTime` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`shopId`)
);
CREATE TABLE `classshop`.`category` (
`categoryId` bigint(20) NOT NULL COMMENT '分类ID',
`name` varchar(255) NOT NULL COMMENT '分类名称',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateTime` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`categoryId`)
);
CREATE TABLE `classshop`.`user` (
`userId` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户Id',
`username` varchar(255) NOT NULL COMMENT '用户账号',
`password` varchar(255) NOT NULL COMMENT '密码',
`phoneNumber` bigint(20) NOT NULL COMMENT '电话',
PRIMARY KEY (`userId`, `username`)
);
CREATE TABLE `classshop`.`shopCart` (
`shopingId` bigint(20) NOT NULL COMMENT '购物车Id',
`shopID` bigint(20) NOT NULL COMMENT '商品Id',
`shopNumber` varchar(255) NOT NULL COMMENT '数量'
);