网上书城项目介绍

前言:一个简易版的网上书城介绍,主要是对所学知识点的一个综合应用,熟悉MVC的开发流程。

一、项目需求

1、前端

①首页(书籍展示,分类展示)

②用户登录\注册(七天免登陆,记住密码)

③书籍查询(类别查询,关键字查询)

④购物车

⑤订单管理(订单新增,订单查询,撤单,签收)

2、后台

①管理员登录

②书籍管理(新增、未上架、删除、修改、图片上传、上架)

二、数据库表设计

书本类别表t_book_category

列名 数据类型 长度 允许空 说明
book_category_id bigint N 书本类别ID,自动增长
book_category_name varchar 50 N 书本类别名称

文件表t_doc

列名 数据类型 长度 允许空 说明
id bigint N 文件ID:非标识列,为简化开发直接取系统当前的毫秒数作为主键的值
file_name varchar 50 N 文件名
mime varchar 50 N 文件的mime类型

书籍表 t_book

列名 数据类型 长度 允许空 说明
book_id bigint N 书本类别ID,标识列
book_name varchar 50 N 书名
book_name_pinyin varchar 50 N 书名拼音:该值有工具类PinYinUtil根据书籍名字计算得到,无需手动输入
book_category_id bigint N 书本类别ID:外键,引用t_book_category(book_category_id)
book_author varchar 256 N 作者
book_price float N 价格:与钱有关,精度要求高,float_DECIMAL,对应的java类型:java.math.BigDecimal
book_image bigint Y 图片:外键,引用t_doc(id),insert=false 注:图书只有上传图片后才修改状态为 2 已上架 因为没做文件上传功能,所以封面直接使用文件ID即可
publishing varchar 50 N 出版社
book_desc varchar 1024 N 简介
book_state int N 书本状态:1 未上架 2 已上架 3 已下架 默认值1 insert=false 注: 只有未上架图书才能删除,已上架图书不能删除,只能下架
deploy_datetime datetime Y 上架日期时间: insert=false,java.sql.Timestamp 注:即首页的最新上架
sales_volume int N 销量:默认值0 insert=false 注:即首页的热销图书,另外客户签收后,根据所售图书的数量更新此字段的值

注:insert=false表示此字段不允许插入操作,update=false表示此字段不允许修改操作 insert=false,update=false表示此字段为只读的

用户表 t_user

列名 数据类型 长度 允许空 说明
user_id bigint N 用户ID:标识列
user_name varchar 10 N 用户名:唯一键,登陆时使用
user_pwd varchar 32 N 用户密码:长度6~10位,MD5加密
user_type int N 用户类型:1 管理员 2 普通用户 注:管理员是直接添加到数据库的,注册时只能注册普通用户

订单表 t_order

列名 数据类型 长度 允许空 说明
1 order_id bigint N 订单ID:非标识列,为简化开发直接取系统当前的毫秒数作为主键的值
2 user_id bigint N 用户ID:外键,引用t_user(user_id) 注:即当前下单的客户
3 order_datetime datetime N 下单日期时间:默认为系统当前时间 insert=false,update=false
4 consignee varchar 50 N 收货人
5 phone varchar 50 N 收货人电话
6 postalcode varchar 50 N 收货人邮编
7 address varchar 50 N 收货人地址
8 send_type int N 发货方式:1 平邮 2 快递
9 send_datetime datetime Y 发货日期时间:insert=false
10 order_price DECIMAL N 订单总价
11 order_state int N 订单状态:1 未发货 2 已发货 3 已签收 4 已撤单 默认值1 insert=false 注:未发货的订单才能点击取消(即做一个删除操作同时还要删除订单项表对应的记录)
注:insert=false表示此字段不允许插入操作,update=false表示此字段不允许修改操作 insert=false,update=false表示此字段为只读的

订单项表 t_order_item

列名 数据类型 长度 允许空 说明
1 order_item_id bigint N 订单项ID:标识列
2 order_id bigint N 订单ID:外键,引用t_order(order_id)
3 book_id int N 书籍ID:外键,引用t_book(book_id)
4 quantity int N 数量

三、技术选择

后台管理员界面:layui,前端界面:layui。后台:自定义MVC框架。

上一篇:MVC之通用增删改


下一篇:c语言结构体应用二