目录

0037springboot网上租赁系统设计与实现

项目清单 包安装运行 官网地址 http://chenqi1990.site

0037springboot网上租赁系统设计与实现

https://raw.githubusercontent.com/GraduationProject-springboot/.github/main/img/wx.png

github 项目仓库 开源仅有后端代码

点击播放视频 ▼

https://i.sstatic.net/Vp2cE.png

第1章 绪论

1.1 课题背景

网络交易(Electronic Commerce):是指实现整个贸易过程中各阶段的贸易活动的电子化。网络交易是一种多技术的集合体。其业务可包括:信息交换、售后服务、销售、电子支付、运输、组建虚拟企业、公司和贸易伙伴可以共同拥有和运营的商业方法等。网络交易的整个贸易活动都可以实现自动化和电子化。网络交易应用系统的工作实质是对信息进行收集、处理、加工分析,形成各种商务应用数据库,并将信息流转换为物流和资金流的过程。

现在的时代科技飞速地发展,网络交易已经深入大众的生活。互联网技术更是明显的提高,电脑已经走进千家万户。对于人们使用互联网进行网络交易已经逐渐深入人心,人们对于网络交易的信任度也比以往大幅提高,网络交易的份额正在逐年加大,网络交易的直观、有效、便捷等优点是传统的交易模式无法比拟的,因此,现在应抓住这个时机,在这个领域占有一席之地。

由上可见,要建立好一个网上租贸系统,需要对大量的信息进行处理和分析,对于了解和掌握数据库系统的理论和实际应用都有很大的帮助。同时,网络交易在当前社会是一种很热门的商业活动,正在以人们无法想象的速度在全球范围内飞快地成长着。网上交易能有效的提高商品交易效率。本次开发的网上租贸系统即满足了用户网络查看租赁/购买所需商品的需求,又提高了商家的营业额,符合当今电子商务和互联网快速发展的潮流。

1.2 设计原则

在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:

(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。

(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。

(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。

(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。

(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。

1.3 研究内容

根据基于Spring Boot的网上租贸系统编写的论文主要阐述了基于Spring Boot的网上租贸系统的开发过程中使用的技术,系统开发前进行的需求分析,根据需求文档进行系统设计,最后才是系统功能实现以及测试几个部分,在开始编写论文之前亲自到图书馆借阅Java书籍,MYSQL数据库书籍等编程书籍,然后针对开发的基于Spring Boot的网上租贸系统,去网上查找了很多别人做好的系统,根据他们的功能设计进行自己的系统的系统功能结构设计,出具需求报告,根据形成的需求报告完成系统各个功能模块设计,最后才是进行程序编码,系统完成后才能进行测试和最后的验收工作,程序开发流程大致如此。

这次编写的论文包含了7个部分的内容,具体内容如下:

第一部分绪论:文章主要从课题背景以及设计原则综合阐述了开发此系统的必要性。

第二部分相关技术:系统开发用到的各种技术都大致做出了简介

第三部分系统分析:从可行性分析和功能需求分析等角度综合研究了此次开发的系统

第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示

第五部分系统实现:进行系统主要功能模块的界面展示

第六部分系统测试:检验程序是否达到预期目标

第七部分总结:进行最后的总结工作

30

第2章 关键技术简介

2.1 Java技术

Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java[16]。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

2.2 Spring Boot框架

Spring Boot是Spring+自动配置的结合,减少了Spring繁琐的配置问题和开发的时间。其中不仅仅优化了XML,且在Spring Boot的内部还集成了Tomcat。

Spring Data Jpa是一套规范,在没有实现类的接口时候是没有办法使用的。他对现有的映射起到了规范的作用。在开发产品的时候我们依旧使用ORM映射框架对JPA接口进行开发。这样我们就可以在不更改代码的情况下使用其他的ORM框架。来做到低耦合、可扩展的特点。

2.3 B/S结构

此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。

相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。

B/S三层框架结构图如图2-1所示:

显示逻辑

浏览器

事物处理逻辑

Web服务

数据库

事物处理逻辑

数据库服务器

响应

请求

相应

请求

/images/0000wxapp//blog.001.png

图2-1 B/S三层框架结构图

2.4 MYSQL数据库

MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[13]

MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。

第3章 系统分析

3.1 可行性分析

在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。

3.1.1 技术可行性

本基于Spring Boot的网上租贸系统采用Java和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。

3.1.2 经济可行性

由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。

3.1.3 操作可行性

本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。本基于Spring Boot的网上租贸系统本身具有操作可行性,其界面设计清晰、功能权限分配合理,操作简单,不同用户登录后可对进行相应功能模块的操作,具有极高的操作可行性。

3.1.4 时间可行性

从时间上看,在三个月的时间里学习相关知识,开发本基于Spring Boot的网上租贸系统,时间上是有点紧,但是不是不可能实现,在做毕业设计的这几个月里,我通过努力使得功能应该基本可以实现。

综上所述,我们进行了四个方面的可行性研究,可以看出,该基于Spring Boot的网上租贸系统的开发是没有问题的。

3.2 系统功能分析

本基于Spring Boot的网上租贸系统主要满足三种用户的需求,这三种用户分别为管理员、商家和用户,下面将对这三种用户分别实现的功能进行详细的阐述。

(1)用户:用户在系统前台可查看系统信息,包括首页、商品信息等,注册登录后主要功能模块包括购物车、个人中心、我的地址、订单信息管理、发货订单管理、租借订单管理、完成订单管理以及我的收藏管理,用例图如图3-1所示。

/images/0000wxapp//blog.002.png

图3-1 用户用例图

(2)管理员:管理员登录后可对系统进行全面的管理,主要功能模块包括个人中心、用户管理、商家管理、商品信息管理、商品分类管理、订单信息管理、发货订单管理、租借订单管理、完成订单管理、系统管理以及订单管理。管理员用例图如图3-2所示。

/images/0000wxapp//blog.003.png

图3-2 管理员用例图图

(3)商家:商家注册登录后主要功能模块包括个人中心、商品信息管理、订单信息管理。发货订单管理、租借订单管理、完成订单管理以及订单管理。商家用例图如图3-3所示。

/images/0000wxapp//blog.004.png

图3-3 商家用例图

3.3 系统性能分析

(1)系统的存储性:因为是网上租贸系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。

(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。

(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。

(4)系统稳定性:开发的基于Spring Boot的网上租贸系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。

3.4 系统流程分析

3.4.1注册流程

未有账号的用户可进行注册操作,在注册时系统会判断用户名是否已存在,已存在的话,提示返回重新填写用户名,用户名不存在,填写其他注册信息,系统判断注册信息是否正确,正确则在数据库中添加用户信息,注册成功。用户注册流程图如图3-4所示。

/images/0000wxapp//blog.005.png

图3-4注册流程图

3.4.2登录流程

登录模块主要满足了用户、商家以及管理员的权限登录,用户登录流程图如图3-5所示

/images/0000wxapp//blog.006.png

图3-5登录流程图

第4章 系统设计

4.1 系统结构设计

系统结构设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。

本基于Spring Boot的网上租贸系统主要包括用户模块、商家模块和管理员模块,根据第三章中系统功能需求分析,可画出本基于Spring Boot的网上租贸系统的结构图如图4-1所示:

/images/0000wxapp//blog.007.png

图 4-1 系统结构图

4.2系统顺序图

4.2.1登录模块顺序图

用户、商家和管理员均可进行登录操作,登录模块的顺序图如图 4-2 所示。

/images/0000wxapp//blog.008.png

图4-2用户登录顺序图

4.2.2添加信息模块顺序图

管理员、商家和用户登录后均可进行添加信息操作,添加信息顺序图如图4-3所示

/images/0000wxapp//blog.009.png

图4-3添加信息顺序图

4.3 数据库设计

4.3.1 数据库E-R图设计

E-R图展现了数据的实体结构关系,为系统数据管理奠定了基础,也对数据进行规范化的设置,保证后期的高效性,避免数据出现重复造成冗余使得数据更新出现异常,无法同步数据和插入数据。通过E-R图也可便于对数据的设计和修改,如果一个数据库在被设计时没有相对应的E-R图,则整体数据库就缺少明确的定位和条理性,使得处理数据的效率大大降低,在需要更新或者查找数据时报错的可能性大大提升,对与后期运行调试系统会造成不必要的麻烦。本基于Spring Boot的网上租贸系统的E-R图如下图所示:

1、商品分类信息实体E-R图如图4-4所示:

/images/0000wxapp//blog.010.png

图4-4 商品分类信息实体的E-R图

2、商家信息实体E-R图如图4-5所示:

/images/0000wxapp//blog.011.png

图4-5 商家信息实体E-R图

3、订单实体图如图4-6所示。

/images/0000wxapp//blog.012.png

图4-6 订单实体E-R图

4、管理员信息实体图如图4-7所示。

/images/0000wxapp//blog.013.png

图4-7 管理员信息实体E-R图

5、商品信息实体图如图4-8所示。

/images/0000wxapp//blog.014.png

图4-8 商品信息实体E-R图

6、用户信息实体图如图4-9所示。

/images/0000wxapp//blog.015.png

图4-9用户信息实体E-R图

4.3.2数据库表设计

本基于Spring Boot的网上租贸系统采用了MYSQL数据库进行系统数据的储存,主要的数据库表的具体设置如下:

表4-1 shangpinfenlei商品分类信息表

列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
shangpinfenlei 商品分类 varchar(200) 允许空

表4-2 shangjia商家信息表

列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
shangjiazhanghao 账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
shangjiamingcheng 商家名称 varchar(200) 允许空
jingyingfanwei 经营范围 varchar(200) 允许空
tupian 图片 varchar(200) 允许空
lianxidianhua 联系电话 varchar(200) 允许空
shangjiajieshao 商家介绍 varchar(200) 允许空
money 余额 float 允许空

表4-3 orders订单信息表

列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 下单时间 timestamp 允许空
orderid 订单编号 varchar(200) 允许空
tablename 商品表名 varchar(200) 允许空
userid 用户编号 bigint(20) 允许空
goodid 商品编号 bigint(20) 允许空
goodname 商品名称 varchar(200) 允许空
picture 商品图片 varchar(200) 允许空
buynumber 购买数量 int(11) 允许空
price 价格 float 允许空
discountprice 折扣价格 float 允许空
total 总价格 float 允许空
discounttotal 折扣总价格 float 允许空
type 支付类型 int(11) 允许空
status 状态 varchar(200) 允许空
address 地址 varchar(200) 允许空
tel` 电话 varchar(200) 允许空
consignee 收货人 varchar(200) 允许空

表4-4 users管理员信息表

列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
username 用户名 varchar(100) 允许空
password 密码 varchar(100) 允许空
role 角色 varchar(100) 允许空
addtime 添加时间 timestamp 允许空

表4-5 yaopinxinxi商品信息表

列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
shangpinmingcheng 商品名称 varchar(200) 允许空
shangpinleixing 商品类型 varchar(200) 允许空
tupian 图片 varchar(200) 允许空
shangpinjianjie 商品简介 longtext 允许空
shangpinxiangqing 商品详情 longtext 允许空
shangjiazhanghao 商家账号 varchar(200) 允许空
shangjiamingcheng 商家名称 varchar(200) 允许空
xinyuzhi 信誉值 int(11) 允许空
yuezujiage 月租价格 int(11) 允许空
thumbsupnum 赞数 int(11) 允许空
crazilynum 踩数 int(11) 允许空
clicktime` 最近点击时间 datetime 允许空
clicknum 点击次数 int(11) 允许空
price 价格 float 允许空
onelimittimes 单限 int(11) 允许空
alllimittimes 库存 int(11) 允许空

表4-6 yonghu用户信息表

列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
zhanghao 账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
xingming 姓名 varchar(200) 允许空
xingbie 性别 varchar(200) 允许空
shouji 手机 varchar(200) 允许空
youxiang` 邮箱 varchar(200) 允许空
zhaopian 照片 varchar(200) 允许空
money 余额 float 允许空

第5章 系统的实现

5.1 用户功能模块的实现

5.1.1用户注册界面

没有账号的用户可进入注册界面进行注册操作,用户注册界面的运行效果如图5-1所示.

/images/0000wxapp//blog.016.png

图5-1 用户注册界面

5.1.2用户登录界面

用户要想实现商品购买、租赁等操作,必须进行登录操作,在登录界面输入正确的用户名和密码,选择登录类型,点击登录按钮进行登录,用户登录界面如图5-2所示。

/images/0000wxapp//blog.017.png

图5-2用户登录界面

5.1.3个人信息界面

用户登录后可对个人信息进行修改,个人信息界面的运行效果如图5-3所示.

/images/0000wxapp//blog.018.png

图5-3个人信息界面

5.1.4商品详情界面

用户可选择商品查看商品详情信息,登录后可进行加入购物车、租赁和购买操作,商品详情界面如图5-4所示。

/images/0000wxapp//blog.019.png

图5-4 商品详情界面

5.1.5购物车界面

用户在购物车界面可查看购物车商品信息,并可进行修改数量、删除商品以及购买等操作,购物车界面展示如图5-5所示。

/images/0000wxapp//blog.020.png

图5-5 购物车界面

5.1.6订单信息界面

用户在订单信息界面可查看个人订单信息,订单信息界面如图5-6所示。

/images/0000wxapp//blog.021.png

图5-6 订单信息界面

5.1.7发货订单界面

用户可查看个人发货订单信息,并可进行收货操作,发货订单界面如图5-7所示。

/images/0000wxapp//blog.022.png

图5-7 发货订单界面

5.2 管理员功能模块的实现

5.2.1管理员登录界面

管理员要想进入系统后台对系统进行管理,首要进入登录界面,需通过正确的账号、密码进行登录操作,管理员登录界面如图5-8所示 。

/images/0000wxapp//blog.023.png

图5-8 管理员登录界面

5.2.2商家管理界面

管理员可增删改查商家信息,商家管理界面展示如图5-9所示 。

/images/0000wxapp//blog.024.png

图5-9 商家管理界面

5.2.3用户管理界面

管理员可查看、修改和删除用户信息,并可新增用户,用户管理界面展示如图5-10所示 。

/images/0000wxapp//blog.025.png

图5-10 用户管理界面

5.2.4商品分类管理界面

管理员可增删改查商品分类信息,商品分类界面展示如图5-11所示 。

/images/0000wxapp//blog.026.png

图5-11 商品分类管理界面

5.3 商家功能模块的实现

5.3.1商品信息管理界面

商家可添加、修改和删除商品信息,商品信息管理界面如图5-12所示。

/images/0000wxapp//blog.027.png

图5-12商品信息管理界面

5.3.2订单信息管理界面

商家可查看订单信息,并可对其进行审核、发货操作,订单信息管理界面展示如图5-13所示 。

/images/0000wxapp//blog.028.png

图5-13 订单信息管理界面