足球青训后台管理系统:Spring Boot实现指南

2 相关技术简介

2.1 Java技术

Java是一门伟大的纯面向对象的编程语言和编程语言。同时,它还是Java语言从嵌入式开发到企业级开发的平台。Java凭借其一次编译,任何地方执行的优点,使得盛行的web应用程序有大量的Java编译,很好地支持网络发展跨平台开发所需的功能,成为服务器端主要流行的语言。Java EE至今仍然是企业发展最重要的服务器平台[6]。

鉴于Java语言是一种引用,它可以自动地收集浪费,编程人员不必担心面向对象的内存特性的管理,它具有一系列类别和类型的支持、多个接口和接口的继承,以及一种实现的机制关于类和接口之间的。

此外,Java语言支持Internet上的应用程序开发,Java的接口是Java net,它提供了一个类库,用于编程Web应用程序,可以是一种强大的异常处理机制和自动垃圾收集机制[7]。

编程语言Java的一个目标是适应动态环境。Java程序要求,可以动态加载执行环境或网络,它也有助于软件升级。而且,能进行运行时间的实现,对运行时间类型的控制。

2.2 B/S结构

目前软件项目的开发存在两种架构模式,就是B/S模式和C/S模式,C/S模式就是较早流行的客户端和服务端模式,要使用新版应用需要暂停使用更新升级,就好比现在手机上的各种APP应用。而这次课题项目使用的是基于B/S,就是浏览器/服务端而开发的web项目。应用的更新都在服务端上进行,而且项目维护方便,不需要安装,只需要有浏览器和网络就可以了,越来越多的web项目被开发出来,也得到用户的认可。

B/S架构这种只需要用户在浏览器上运行不需要再下载客户端的模式,使用浏览器就可以实现和下载客户端的一样复杂的功能。给管理系统的用户带来了很大的方便,节约了大量的成本。现在B/S架构已经在Web开发上被广泛运用,它的基础内容也在不断的完善更新。

图2-1 B/S模式三层结构图

2.3 MYSQL数据库

本次开发的系统后台采用MySQL数据库来存放数据,MySQL实质是RDBMS(关系型数据库管理系统),源代码开放性比较高,数据库管理的语言采用SQL(结构化查询语言)进行数据管理[14],下面我们就简单介绍SQL语句的一些常用用法。通常我们要创建一个数据库时就会使用"CREATE DATABASE "命令开头,使用某个数据库时就会以"use+数据库名称"命令,如果想要查看数据库里面数据表就会使用到"SHOW TABLES"命令,当然我们在操作数据表内容时也会使用到某些命令,比如删除就用"drop",清空就用"delete from",更新数据就用"update",需要加入数据的话可以用"insert into "等命令,这些就是SQL查询语句的惯用语法。这次采用mysql数据库还是源于它备受关注的实用性和可靠性,它里面的大部分功能一般的系统都还用不完,况且mysql小巧但它功能比较齐全,是一般系统软件的开发首选。MySQL开放的源代码通过360安全浏览器可以快速下载下来,程序员可以对这些免费的代码根据自身需求进行个性化定制操作。为了我们能够更好地使用MySQL,平时我们需要多加维护,有空的时候还是多多查看一些二进制日志、错误日志、常规查询日志等日志,它们能够帮助我们进行性能分析以及DBA检查,除了这个还需要注意每间隔一定时间就要更新缓冲区和缓存,这样能够降低碎片,利用OPTIMIZETABLE命令让数据表进行重新组织,还能节省许多空间避免空间浪费。

2.4 Spring Boot框架

Spring Boot是一个简化程序设置的拥有开箱即用的框架,它主要的优点是根据程序员不同的设置而生成不同的代码配置文件,这样开发人员就不用每个项目都配置相同的文件,从而减低了开发人员对于传统配置文件的时间,提高了开发效率。它内嵌Tomcat服务器,简化了Maven的配置,自动配置Spring,通过这样的框架,开发人员就不用头疼各种配置文件,可以减少时间,同时提高了代码的整体性,使开发人员工作效率大大提高。

4 系统设计

4.1 系统架构设计

B/S系统架构是本系统开发采用的结构模式,使用B/S模式开发程序以及程序后期维护层面需要的经济成本是很低的,用户能够承担得起。使用这样的模式开发,用户使用起来舒心愉悦,不会觉得别扭,操作很容易就熟练了。而且方便管理。采用B/S体系结构开发的应用软件仅仅需要在客户端安装谷歌浏览器或者其他浏览器就可以操作,对于维护和升级操作则在服务器端就能完成,不用在客户端进行操作,这样就节省了许多开销,B/S模式能够保证软件应用的跨平台性和通用性,采用它开发软件是最佳选择。B/S模式示意图如图4-1所示。

图4-1 B/S模式示意图

4.2 系统结构设计

系统结构设计是整个系统设计中重要的一部分,在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。

本基于Web的足球青训俱乐部管理后台系统由学员功能模块、教练功能模块和管理员功能模块三大部分构成,系统的结构图如图4-2所示。

图4-2系统结构图

4.3 数据库设计

4.3.1数据库E-R图设计

数据库在系统中扮演这很重要的角色,在这次设计的程序中我运用的是Mysql数据库。Sql语句是访问数据库的最常用的标准化语言。使用数据库,可以使整个系统的数据更加的整洁、明了。数据库在整个系统中,就是这个系统的基础。一个好的数据库设计,更有利于后期的维护,功能的扩建。如果数据库的设计出现问题,那么将是非常麻烦的事情。

每张数据表都有其字段信息,如何直观的看出一张表的结构和数据间的关系,可以通过E-R图进行查看。E-R图灵活的表达了数据中实体和属性间的关系,使得数据关系更简单明了。每个系统数据库都需要提前进行设计规划,使整体数据库更统一规范化,也体现出开发人员的专业性。本基于Web的足球青训俱乐部管理后台系统的E-R图如下图所示:

(1)课程安排信息实体E- R图,如图4-5所示:

图4-5 课程安排信息实体图

(2)教练信息实体E- R图,如图4-6所示:

图4-6 教练信息实体图

(3)订单实体E- R图,如图4-7所示:

图4-7 订单实体图

(4)管理员实体E- R图,如图4-8所示:

图4-8 管理员实体图

(5)学员实体E- R图,如图4-9所示:

图4-9 学员实体图

(6)商品实体E- R图,如图4-10所示:

图4-10 商品实体图

4.3.2数据库表设计

本基于Web的足球青训俱乐部管理后台系统需要数据库,采用的是MYSQL这一数据库管理系统,各个数据库表的设计结果如下:

表4-1 kechenganpai课程安排信息表

列名 说明 类型 ( 长度 ) 备注

id 编号 bigint(20) 不允许空,主键

addtime 创建时间 timestamp 允许空

xueyuanzhanghao 学员账号 varchar(200) 允许空

xueyuanxingming 学员姓名 varchar(200) 允许空

jiaoliangonghao 教练工号 varchar(200) 允许空

jiaolianxingming 教练姓名 varchar(200) 允许空

kechengbianhao 课程编号 varchar(200) 允许空

kechengming 课程名 varchar(200) 允许空

fengmian 封面 varchar(200) 允许空

shangkeshijian 上课时间 datetime 允许空

shangkedidian 上课地点 varchar(200) 允许空

xiangqing 详情 longtext 允许空

userid 用户编号 bigint(20) 允许空

表4-2 jiaolian教练信息表

列名 说明 类型 ( 长度 ) 备注

id 编号 bigint(20) 不允许空,主键

addtime 添加时间 timestamp 允许空

jiaoliangonghao 教练工号 varchar(200) 允许空 mima 密码 varchar(200) 允许空 jiaolianxingming 教练姓名 varchar(200) 允许空 touxiang 头像 varchar(200) 允许空 nianling 年龄 varchar(200) 允许空 xingbie 性别 varchar(200) 允许空 shenfenzheng 身份证 varchar(200) 允许空 lianxidianhua 联系电话 varchar(200) 允许空 gongzuojingyan 工作经验 longtext 允许空 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 xueyuan学员信息表

列名 说明 类型 ( 长度 ) 备注

id 编号 bigint(20) 不允许空,主键

addtime 添加时间 timestamp 允许空

xueyuanzhanghao 学员账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空

xueyuanxingming 学员姓名 bigint(20) 允许空 xingbie 性别 bigint(20) 允许空 shoujihao 手机号 varchar(200) 允许空

chushengnianyue 出生年月 date 允许空

touxiang 头像 varchar(200) 允许空

jiatingzhuzhi 家庭住址 varchar(200) 允许空

money 余额 float 允许空

表4-6 shangpinxinxi商品信息表

列名 说明 类型 ( 长度 ) 备注

id 编号 bigint(20) 不允许空,主键

addtime 添加时间 timestamp 允许空

shangpinID 商品编号 varchar(200) 允许空

shangpinmingcheng 商品名称 varchar(200) 允许空

`leixing 类型 varchar(200) 允许空

tupian 图片 varchar(200) 允许空

shangpinxiangqing 商品详情 varchar(200) 允许空

price 价格 float 允许空

相关推荐
StayInLove18 分钟前
G1垃圾回收器日志详解
java·开发语言
对许22 分钟前
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“
java·log4j
无尽的大道26 分钟前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
小鑫记得努力35 分钟前
Java类和对象(下篇)
java
binishuaio38 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
zz.YE40 分钟前
【Java SE】StringBuffer
java·开发语言
老友@40 分钟前
aspose如何获取PPT放映页“切换”的“持续时间”值
java·powerpoint·aspose
颜淡慕潇1 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
wrx繁星点点1 小时前
状态模式(State Pattern)详解
java·开发语言·ui·设计模式·状态模式
Upaaui1 小时前
Aop+自定义注解实现数据字典映射
java