ssm系列实战(1)——需求分析及数据库设计
程序员文章站
2022-04-22 20:14:22
...
此系列为具备一定逻辑功能的移动网上书城,主要讲述该项目中的一些重要技术,方便使用者更好地理解和使用SSM,这里讲需求分析及数据库设计
ssm系列实战(1)——需求分析及数据库设计
ssm系列实战(2)——SSM+Shiro框架整合
ssm系列实战(3)——分类分页的实现
ssm系列实战(4)——利用shiro完成登录验证
ssm系列实战(5)——实现购物车功能,事务实现提交订单
ssm系列源码——GitHub源码地址
数据库设计:
首先作为一个购物网站应由前台和后台两部分组成。
前台面向用户,用于购物,后台面向管理员,用于管理书籍和用户。
既然有用户和管理员,那么就得有用户以及他们所对应的权限,这里采用多对多的方式,
一个用户可对应多个权限,一个权限可对应多个用户,那么首先有用户表,权限表,用户权限表
然后得有书籍和它对应的类别,也采用多对多的方式,书籍表,类别表,书籍类别表
既然是购物那么就会有订单,订单应单独设有详情(不然一份订单中有多本图书在页面中会显示得十分杂乱无章),
还有一个用户应有其订单的地址详情列表,以防每次都要重新填写地址(这里因为前端部分实现麻烦就没用,只是提出个方案)
所以又会有订单表,订单详情表,用户地址表,订单和订单详情是属于一对多的关系,一份订单有多个订单详情
E-R图对应如下:
最终会有这么多个表,SQL语句和源代码将发到我的github上去。
前台部分:
当我们启动项目或者是在服务器上已经搭建好环境后通过网页url浏览时,首先应该进入书本列表页面,
每页显示10本书籍足以,如果有需要修改也只需要修改一处数字,
然后就是下面要有分页条,可以跳转页数,浏览本次没有浏览到的书籍,
在上方有类别查询功能,可以根据类别查询图书,当选择一个类别查询后将只显示该类别的图书,
有一处可以精确或模糊查询书籍(模糊查询是指不需要有书本完全的名字,只需要有一部分即可),
下面有按价格升序降序排序选择及查看5本最热销书籍(也就是销量最多的书籍)
而在最上面,若用户尚未登陆则有登录和注册按钮,点击可实现相应功能。
点击登录则:
点击注册则:
注册时若信息符合标准则数据库中的用户和用户权限表将出现对应的信息,用户可用刚才注册的账号登陆。
这里介绍的是前台部分,默认用户为普通用户,按钮变成用户信息的头像,显示用户的昵称,具有注销功能。
页面上面的登陆注册按钮变成进入购物车和进入订单页面按钮,功能为字意所示。每本书籍的详细信息后有加入购物车选项。
分类查询可以将只有被归类为此类的书籍列出来
加入购物车后可以选择继续购买或者是进入购物车查看购物车内商品,
可以修改商品数量或者删除该商品,总价将会自动计算.
查看完可以选择进入提交订单页面,但作为一个购书网站显然是需要有用户的,在进入购物页面时我们必须要求用户已经登陆,
若用户尚未登陆将跳到登陆页面要求用户登陆后才能够买单,买单页面填写信息后提交,数据库中的订单和订单详情表将出现相应的信息。
接下来就可以进入我的订单查看到之前提交了的订单(包括以前的订单,只要是这个用户下订过的)
并且可以查看该订单的细节,也就是这个订单包含的书籍信息
后台部分:
一开始的部分与前台部分功能一样,到登录部分时,
如果我们登录的是管理员账户,左边将会出现书籍管理和普通用户管理的版块,
如果我们登录的是超级管理员账户,左边将会出现书籍管理,普通用户管理和管理员管理版块。
普通用户管理板块:我们在数据库中为user(用户)设立了一个字段status,用于判断当前用户是否可用,
当我们觉得用户为恶意操作时可选择禁用用户(将status字段值变为2),
即使不小心弄错了,点击启用用户(将status字段值变为1)
点击修改用户信息可用于修改用户信息
书籍管理模块:点击下架该书籍将会把书籍和书籍类别表中相应的数据删去,也可以修改书籍信息
在其上方有增加图书的按钮,可实现添加图书功能
管理员管理板块:只有超级管理员可以看到这个板块,
同样是普通用户管理板块的内容,但针对的用户变成了管理员或超级管理员
这里有一个地方要介绍下:如果用户只是记住了你页面跳转的url,
想要直接访问(也就是越权访问),那么将被拦截并跳转到我们定位的地方
至此,功能基本介绍完毕,希望对大家接下来的学习有所启发和帮助
下一篇: 转载:程序员刚写完代码 , 就被开除了