基于SpringBoot的网上租赁服务:设计与实现

第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所示:
在这里插入图片描述

图2-1 B/S三层框架结构图
2.4 MYSQL数据库
MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[13]
MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。

第4章 系统设计
4.1 系统结构设计
系统结构设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。
本基于Spring Boot的网上租贸系统主要包括用户模块、商家模块和管理员模块,根据第三章中系统功能需求分析,可画出本基于Spring Boot的网上租贸系统的结构图如图4-1所示:
在这里插入图片描述

图 4-1 系统结构图
4.2系统顺序图
4.2.1登录模块顺序图
用户、商家和管理员均可进行登录操作,登录模块的顺序图如图 4-2 所示。
在这里插入图片描述

图4-2用户登录顺序图
4.2.2添加信息模块顺序图
管理员、商家和用户登录后均可进行添加信息操作,添加信息顺序图如图4-3所示
在这里插入图片描述

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

图4-4 商品分类信息实体的E-R图
2、商家信息实体E-R图如图4-5所示:
在这里插入图片描述

图4-5 商家信息实体E-R图
3、订单实体图如图4-6所示。
在这里插入图片描述

图4-6 订单实体E-R图
4、管理员信息实体图如图4-7所示。
在这里插入图片描述

图4-7 管理员信息实体E-R图
5、商品信息实体图如图4-8所示。
在这里插入图片描述

图4-8 商品信息实体E-R图
6、用户信息实体图如图4-9所示。
在这里插入图片描述

图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 允许空

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/885425.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习后门攻击分析与实现(二)

前言 在本系列的第一部分中,我们已经掌握了深度学习中的后门攻击的特点以及基础的攻击方式,现在我们在第二部分中首先来学习深度学习后门攻击在传统网络空间安全中的应用。然后再来分析与实现一些颇具特点的深度学习后门攻击方式。 深度学习与网络空间…

解决 Android WebView 无法加载 H5 页面常见问题的实用指南

目录 1. WebView 简介 2. 常见问题 3. 网络权限设置 4. 启用 JavaScript 5. DOM Storage 的重要性 6. 处理 HTTPS 问题 7. 设置 WebViewClient 8. 调试工具 9. 其他调试技巧 10. 结论 相关推荐 1. WebView 简介 Android WebView 是一种视图组件,使得 And…

LiveGBS流媒体平台GB/T28181功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大

LiveGBS流媒体平台GB/T28181功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、直播播放2、录像播放3、搭建GB28181视频直播平台 1、直播播放 国标设备-》查看通道-》播放 ,左键单击可以拉取矩形框,放大选中的范围,释…

vue-element 表格组合查询 - fc-table-search 组件封装

开发目的 解决搜索form参数读取,配合异步请求,更新渲染数据;支持自适应高度,分页查询,搜索查询/重置。 额外提供formater类型:标签定义,金额,时间格式化,跨页勾选&#x…

uniapp/vue项目 import 导入文件时提示Module is not installed,‘@/views/xxx‘路径无法追踪

文章目录 背景解决方案1.IDE配置2.alias(别名)配置webpackvue-clivite 3.检查 jsconfig.json 或 tsconfig.json 写在最后 前往闪闪の小窝以获得更好的阅读和评论体验 背景 Vue3在我自学Vue的时候看过一点,实操过一点,但是太久没用…

基于php的酒店管理系

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

动手学深度学习(李沐)PyTorch 第 3 章 线性神经网络

3.1 线性回归 线性回归是对n维输入的加权,外加偏差 线性回归可以看作是单层神经网络 回归问题中最常用的损失函数是平方误差函数。 平方误差可以定义为以下公式: 常数1/2不会带来本质的差别,但这样在形式上稍微简单一些 (因为当…

实时语音交互,打造更加智能便捷的应用

随着人工智能和自然语言处理技术的进步,用户对智能化和便捷化应用的需求不断增加。语音交互技术以其直观的语音指令,革新了传统的手动输入方式,简化了用户操作,让应用变得更加易用和高效。 通过语音交互,用户可以在不…

Android入门

下载Android studio,创建第一个项目 模板可以选择empty views Activity 在这个界面可以修改,使用语言,项目名字,存储路径以及适用版本 完成后,得到一个最初始的Android 项目,红色标记的两个文件&#xf…

七星创客:重塑商业模式认知

近期,一个普遍存在的疑问困扰着许多人:“商业模式是否仅仅等同于拉人头或传销活动?”这样的联想或许源于对商业模式概念的片面理解,使得一些人错误地将所有商业模式都笼罩在负面阴影之下。 商业模式,这一商业领域的核心…

(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案

系列文章目录 文章目录 系列文章目录一、(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案1.资料 一、(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案 1.资料…

Windows11系统下SkyWalking环境搭建教程

目录 前言SkyWalking简介SkyWalking下载Agent监控实现启动配置SkyWalking启动Java应用程序启动Elasticsearch安装总结 前言 本文为博主在项目环境搭建时记录的SkyWalking安装流程,希望对大家能够有所帮助,不足之处欢迎批评指正🤝&#x1f91…

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统:特点可发红包,可添加多条链接到用户网站和应用,安卓苹果APPPC端H5四合一 后端开发语言:PHP, 前端开发语言:uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…

微信小程序——婚礼邀请函

目的 1.掌握微信小程序的开发技术,包括页面布局、交互设计、数据存储等。 2.学会运用微信小程序的各种组件和 API,实现个性化的婚礼邀请函功能。 3.通过制作婚礼邀请函小程序,提升创意设计和用户体验优化的能力。 4.了解如何在小程序中整…

JAVA并发编程系列(11)线程池底层原理架构剖析

面试官:说说JAVA线程池的几个核心参数? 之前我们用了10篇文章详细剖析了synchronized、volatile、CAS、AQS、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier、并发锁、Condition等各个核心基础原理,今天开始我们说说并发领域的各种…

信息安全数学基础(24)模为奇数的平方剩余与平方非剩余

前言 在信息安全数学基础中,模为奇数的平方剩余与平方非剩余是数论中的一个重要概念,特别是在密码学和安全协议中扮演着关键角色。当模数为奇数时,我们通常关注的是模为奇素数的平方剩余与平方非剩余,因为奇合数的情况更为复杂且…

自己做个国庆75周年头像生成器

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 下载相关代码:【免费】《自己做个国庆75周年头像生成器》代码资源-CSDN文库 又是一年国庆节,今年使用国旗做…

智慧城市交通管理中的云端多车调度与控制

城市交通管理中的云端多车调度与控制 智慧城市是 21世纪的城市基本发展方向,为了实现智慧城市建设的目标,人们需要用现代化的手段去管理和控制城市中的各种资源和设施。智能交通控制与管理是智慧城市中不可缺少的一部分,因为现代城市交通系统…

【2024工业3D异常检测文献】CMDIAD: 基于跨模态蒸馏驱动的多模态工业异常检测

Incomplete Multimodal Industrial Anomaly Detection via Cross-Modal Distillation 1、Background 近年来,基于3D点云和RGB图像的多模态工业异常检测(IAD)研究强调了利用模态间的冗余性和互补性对于精确分类和分割的重要性。 在项目中,提出了CMDIAD方…

亲身体验Llama 3.1:开源模型的部署与应用之旅

文章目录 1 Llama 3.1系列的诞生2 大型模型的未来发展3 使用教程4 Llama 3.1在客户服务中的运用 1 Llama 3.1系列的诞生 在人工智能的浪潮中,大型语言模型(LLM)正以其独特的魅力和潜力,成为深度学习领域的一颗耀眼明星。 这些模…