Spring Boot在甘肃非遗文化网站开发中的应用

news/2024/12/21 20:11:38/

2 相关技术
2.1 SSM框架介绍
本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架是属于重量级别的框架,配置繁琐,不够灵活,修改程序需要修改好多个文件,并且运行起来也占用内存较高,CPU使用率相对也高,SpringMVC是Spring开发的一套MVC架构,更灵活更好用,SSM框架取中间值,既没有SSH臃肿,也没有SpringMVC简化,属于中间级别的,在配置过程和使用过程中更能编写和理解。MyBatis框架取代Hibernate框架是因为它更灵活,不需要完全在框架里操作,它在数据操作上可以写出更灵活的代码,它的性能也比Hibernate框架更稳定。总的来说,使用SSM框架是通过综合考虑而使用的,网上有很多的使用教程和心得体会,而且SSM又是这么的流行,用SSM框架开发是顺其自然的。
2.2 B/S结构介绍
在早期,一些使用HTML语言编写的文件,再集合一些其它资源文件就可以组成一个最简单的Web程序,了解了Web程序也需要了解Web站点,它们之间的关系就是一个或者多个Web程序可以放在Internet上的一个Web站点(Web服务器)中进行使用。可以说Web应用程序的开发也带动了B/S这种网络结构模式的兴起。B是Brower(浏览器)的首字母,S是Server(服务器)的首字母,两个首字母进行组合就成了网络结构模式的简称B/S。由于这种结构模式通过安装在用户端的浏览器进行服务器的访问,可以把程序的核心功能安排在服务器中进行处理,给程序的开发,后期使用和维护省去了许多工作。图2.1展示的就是使用这种架构开发的程序的工作原理。
在这里插入图片描述

图2.1 B/S架构的工作原理图
2.3 Mysql数据库介绍
开发的程序面向用户的只是程序的功能界面,让用户操作程序界面的各个功能,那么很多人就会问,用户使用程序功能生成的数据信息放在哪里的?这个就需要涉及到数据库的知识了,一般来说,程序开发通常就会对常用数据存储工具的特点进行分析比对,比如Mysql数据库的特点与优势,Access数据库的特点与优势,Sqlserver数据库的特点与优势等,最终看哪个数据库与需要开发的程序比较匹配,也符合程序功能运行需要的数据存储要求,比如,需要开发商业级别的程序,存储的数据对数据库要求较高,可以选用Oracle,如果只是比较简单的程序,对数据存储没有过多要求,可以选用微软旗下的Access,当开发程序要求数据库占用空间小,并能满足程序数据存储要求时,就可以考虑Oracle公司从瑞典MySQL AB公司在很早之前就收购过一个关系型数据库,它是现在的Mysql数据库。在数据库工具里面它是最受认可的其中一个应用软件。需要说明的信息就是,本程序的开发就运用到了此数据库。它将程序数据通过使用不同的数据表格进行保存,在增加了程序数据的存储速度的时候,也提高了数据库的灵活性。 图2.2展示的就是MySQL的架构图。
在这里插入图片描述

图2.2 MySQL数据库架构图
4 系统设计
甘肃非物质文化网站的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。
4.1 系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。
在这里插入图片描述

图4.1 程序工作的原理图
4.2 系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图,管理员主要负责填充图书和其类别信息,并对已填充的数据进行维护,包括修改与删除,管理员也需要审核老师注册信息,发布公告信息,管理自助租房信息等。
在这里插入图片描述

图4.2 系统功能结构图

4.3 数据库设计
程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。
4.3.1 数据库E-R图设计
这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
各个实体之间的联系用下图的E-R图表示。绘制的系统E-R图见图4.8。

在这里插入图片描述

图4.8 系统E-R图
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
表4.1 用户信息表
列名 说明 数据类型 允许空
id bigint(20) 主键 否
addtime timestamp 创建时间 是
yonghuming varchar(200) 用户名 是
mima varchar(200) 密码 是
xingming varchar(200) 姓名 是
touxiang varchar(200) 头像 是
xingbie varchar(200) 性别 是
lianxidianhua varchar(200) 联系电话 是
money float 余额 是
role varchar(255) 身份 是
xiangqing varchar(255) 个人介绍 是
表4.2 申请信息表
列名 说明 数据类型 允许空
id int(11) 主键 否
yh_types bigint(50) 申请人 是
shenqing_time datetime 申请时间 是
sf_types tinyint(4) 是否同意 是

表4.3 订单信息表
列名 说明 数据类型 允许空
id bigint(20) 主键 否
addtime timestamp 创建时间 是
orderid varchar(200) 订单编号 是
tablename varchar(200) 商品表名 是
userid bigint(20) 用户id 是
goodid bigint(20) 商品id 是
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) 地址 是

表4.4商品信息表
列名 说明 数据类型 允许空
id bigint(20) 主键 否
addtime timestamp 创建时间 是
shangpinmingcheng varchar(200) 商品名称 是
shangpinfenlei varchar(200) 商品分类 是
tupian varchar(200) 图片 是
biaoqian varchar(200) 标签 是
pinpai varchar(200) 品牌 是
shangpinxiangqing longtext 商品详情 是
clicktime datetime 最近点击时间 是
clicknum int(11) 点击次数 是
price float 价格 是

表4.5 商品评论信息表

列名 说明 数据类型 允许空
id bigint(20) 主键 否
addtime timestamp 创建时间 是
dingdanbianhao varchar(200) 订单编号 是
shangpinmingcheng varchar(200) 商品名称 是
shangpinfenlei varchar(200) 商品分类 是
pinpai varchar(200) 品牌 是
pingfen varchar(200) 评分 是
pingjianeirong longtext 评价内容 是
tianjiatupian varchar(200) 添加图片 是
pingjiariqi date 评价日期 是
yonghuming varchar(200) 用户名 是
lianxidianhua varchar(200) 联系电话 是
sfsh varchar(200) 是否审核 是
shhf longtext 审核回复 是


http://www.ppmy.cn/news/1534166.html

相关文章

【RabbitMQ 项目】服务端:信道模块

文章目录 一.概念辨析1.什么是信道2.为什么要有信道3.怎么实现信道 二.实现思路1.定义信道2.定义连接信道管理类 三.代码实践 一.概念辨析 1.什么是信道 信道是在用户层的一个逻辑概念,是比 TCP 连接更加细粒度的通信通道,客户端想要和服务端通信&#…

05.useIsomorphicEffect

在 React 应用开发中,特别是涉及到**服务器端渲染(SSR)**时,正确处理副作用是一个常见挑战。useIsomorphicEffect 钩子提供了一种智能的方式来在服务器端和客户端环境中使用适当的副作用钩子。这个自定义钩子可以帮助开发者避免与 SSR 相关的常见陷阱,提高应用的性能和可靠…

vue2与vue3知识点

1.vue2(optionsAPI)选项式API 2.vue3(composition API)响应式API vue3 setup 中this是未定义(undefined)vue3中已经开始弱化this vue2通过this可以拿到vue3setup定义得值和方法 setup语法糖 ref > …

vmvare虚拟机centos 忘记超级管理员密码怎么办?

vmvare虚拟机centos 忘记超级管理员密码怎么办?如何重置密码呢? 一、前置操作 重启vmvare虚拟机的过程中,长按住Shift键 选择第一个的时候,按下按键 e 进入编辑状态。 然后就会进入到类似这个界面中。 在下方界面 添加 init=/bin/sh,然后按下Ctrl+x进行保存退出。 init=/bi…

UI设计师面试整理-面试中的实际设计挑战

在UI设计师的面试中,面试官常常会给出一个实际设计挑战。这类挑战旨在评估你的设计思维、解决问题的能力、创意以及你如何在有限的时间内应对设计任务。应对这些挑战需要冷静、条理清晰和策略性地展示你的技能。以下是如何准备和应对面试中的实际设计挑战的建议: 1. 理解设计…

代码随想录算法训练营DAY10之动态规划(二)背包问题

01背包理论基础 406、分割等和子集 力扣题目链接 题目描述 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5]输出: true …

UniVue大版本更新:UniVue2.0.0-preview

大版本发布说明 距离上次更新好像已经过去很久了,最近太忙了没时间维护新版本,也是自己在使用的过程中发现了很多问题也有了更多的灵感,由于和之前的版本区别太大,决定重新开一个大版本。这个UniVue2之后的版本追求是性能&#xf…

鸿蒙 HarmonyNext 与 Flutter 的异同之处

HarmonyNext 是华为推出的面向未来的应用开发框架,依托于鸿蒙(HarmonyOS)生态系统,特别适用于多设备协同、物联网(IoT)等场景。Flutter 是 Google 开发的跨平台 UI 框架,旨在通过单套代码运行在…