基于springboot的在线教育系统(源码+论文)

一、开发环境

本在线教育系统主要采用以下技术栈进行开发:

  • B/S结构:基于浏览器/服务器模式,便于用户通过互联网访问系统,无需安装客户端软件。
  • Spring Boot框架:简化了新Spring应用的初始搭建及开发过程,提高了开发效率。
  • MYSQL数据库:作为关系型数据库管理系统,具有功能强大、使用简单、管理方便等特点,为系统提供稳定的数据存储支持。

二、系统概要设计

1 概述

本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图1所示:

2 系统结构

本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:

3 数据库设计

3.1 数据库实体

本系统的E-R图展示了各个实体及其属性之间的关系,包括管理员、课程、用户等实体。

  • 管理员信息实体属性图
  • 课程信息实体属性图
  • 用户信息实体属性图

3.2 数据库设计表

在线教育系统需要后台数据库,下面介绍数据库中的各个表的详细信息:

表1 地址

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
userid bigint(20) 用户id
address varchar(200) 地址
name varchar(200) 收货人
phone varchar(200) 电话
isdefault varchar(200) 是否默认地址[是/否]

表2 购物车表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
tablename varchar(200) kecheng 商品表名
userid bigint(20) 用户id
goodid bigint(20) 商品id
goodname varchar(200) NULL 商品名称
picture varchar(200) NULL 图片
buynumber int(11) 购买数量
price float NULL 单价
discountprice float NULL 会员价

表3 教师评论表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
refid bigint(20) 关联表id
userid bigint(20) 用户id
nickname varchar(200) NULL 用户名
content longtext 评论内容
reply longtext NULL 回复内容

表4 课程评论表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
refid bigint(20) 关联表id
userid bigint(20) 用户id
nickname varchar(200) NULL 用户名
content longtext 评论内容
reply longtext NULL 回复内容

表5 名师评论表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
refid bigint(20) 关联表id
userid bigint(20) 用户id
nickname varchar(200) NULL 用户名
content longtext 评论内容
reply longtext NULL 回复内容

表6 讲师

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
jiangshigonghao varchar(200) 讲师工号
mima varchar(200) 密码
jiangshixingming varchar(200) 讲师姓名
xingbie varchar(200) NULL 性别
nianling varchar(200) NULL 年龄
touxiang varchar(200) NULL 头像
lianxidianhua varchar(200) NULL 联系电话
jiangshiyouxiang varchar(200) NULL 讲师邮箱
money float 0 余额

表7 教师

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
jiangshigonghao varchar(200) NULL 讲师工号
jiangshixingming varchar(200) NULL 讲师姓名
xingbie varchar(200) NULL 性别
touxiang varchar(200) NULL 头像
huojiangzhengshu longtext NULL 获奖证书
suoshudanwei varchar(200) NULL 所属单位
jiaoshoukecheng varchar(200) NULL 教授课程
xiangxixinxi longtext NULL 详细信息

表8 课程

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
kechengbianhao varchar(200) NULL 课程编号
kechengmingcheng varchar(200) NULL 课程名称
suoshufenlei varchar(200) NULL 所属分类
keshishu int(11) NULL 课时数
suoshujiangshi varchar(200) NULL 所属讲师
kechengfengmian varchar(200) NULL 课程封面
suoshudaxue varchar(200) NULL 所属大学
kechengshipin varchar(200) NULL 课程视频
kechengdagang longtext NULL 课程大纲
kechengxiangqing longtext NULL 课程详情
clicktime datetime NULL 最近点击时间
clicknum int(11) 0 点击次数
price float 价格

表9 课程分类

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
fenlei varchar(200) NULL 分类

表10 课程管理员

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
kechengzhanghao varchar(200) 课程账号
mima varchar(200) 密码
kechengxingming varchar(200) 课程姓名
xingbie varchar(200) NULL 性别
shouji varchar(200) NULL 手机
youxiang varchar(200) NULL 邮箱
zhaopian varchar(200) NULL 照片
money float 0 余额

表11 名师

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
jiangshigonghao varchar(200) NULL 讲师工号
jiangshixingming varchar(200) NULL 讲师姓名
xingbie varchar(200) NULL 性别
touxiang varchar(200) NULL 头像
huojiangzhengshu longtext NULL 获奖证书
suoshudanwei varchar(200) NULL 所属单位
jiaoshoukecheng varchar(200) NULL 教授课程
xiangxixinxi longtext NULL 详细信息
clicktime datetime NULL 最近点击时间

表12 订单

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
orderid varchar(200) 订单编号
tablename varchar(200) kecheng 商品表名
userid bigint(20) 用户id
goodid bigint(20) 商品id
goodname varchar(200) NULL 商品名称
picture varchar(200) NULL 商品图片
buynumber int(11) 购买数量
price float 0 价格/积分
discountprice float 0 折扣价格
total float 0 总价格/总积分
discounttotal float 0 折扣总价格
type int(11) 1 支付类型
status varchar(200) NULL 状态
address varchar(200) NULL 地址
tel varchar(200) NULL 电话
consignee varchar(200) NULL 收货人

表13 普通管理员

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
putongzhanghao varchar(200) 普通账号
mima varchar(200) 密码
putongxingming varchar(200) 普通姓名
xingbie varchar(200) NULL 性别
shouji varchar(200) NULL 手机
youxiang varchar(200) NULL 邮箱
zhaopian varchar(200) NULL 照片
money float 0 余额

表14 收藏表

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
userid bigint(20) 用户id
refid bigint(20) NULL 收藏id
tablename varchar(200) NULL 表名
name varchar(200) 收藏名称
picture varchar(200) 收藏图片

表15 管理员表

字段 类型 默认 注释
id (主键) bigint(20) 主键
username varchar(100) 用户名
password varchar(100) 密码
role varchar(100) 管理员 角色
addtime timestamp CURRENT_TIMESTAMP 新增时间

表16 用户

字段 类型 默认 注释
id (主键) bigint(20) 主键
addtime timestamp CURRENT_TIMESTAMP 创建时间
zhanghao varchar(200) 账号
mima varchar(200) 密码
nicheng varchar(200) 昵称
xingbie varchar(200) NULL 性别
shouji varchar(200) NULL 手机
youxiang varchar(200) NULL 邮箱
zhaopian varchar(200) NULL 照片
money float 0 余额

三、系统详细实现

1 普通管理员管理

管理员可以对普通管理员账号信息进行添加修改删除操作。具体界面的展示如图1所示。

2 课程管理员管理

管理员可以对课程管理员进行添加修改删除操作。具体界面如图2所示。

3 课程信息管理

课程管理员可以对课程信息进行添加,修改,删除以及查询操作。界面如下图所示:

4 用户信息管理

普通管理员可以对用户信息进行添加修改删除操作。界面如下图所示:

5 讲师信息管理

管理员可以对讲师信息进行添加修改删除操作。界面如下图所示:

源码+论文下载>>

相关推荐
IT码农-爱吃辣条2 分钟前
解决在uniapp真机运行上i18n变量获取不到问题
javascript·vue.js·uni-app
hrrrrb13 分钟前
【Java Web 快速入门】十、AOP
java·前端·spring boot
optimistic_chen23 分钟前
【Java EE进阶 --- SpringBoot】初识Spring(创建SpringBoot项目)
spring boot·后端·spring·java-ee·tomcat·mvc·idea
chxii27 分钟前
4.3 computed watch watchEffect
前端·javascript·vue.js
前端小巷子38 分钟前
Vue SSR原理
前端·vue.js·面试
活宝小娜1 小时前
新增和编辑共用弹窗模板
开发语言·前端·javascript·vue.js
阳光的男夹克1 小时前
Vue3 Element-plus 封装Select下拉复选框选择器
javascript·vue.js·ecmascript
IT毕设实战小研1 小时前
Java毕业设计选题推荐 |基于SpringBoot的健身爱好线上互动与打卡社交平台系统 互动打卡小程序系统
java·开发语言·vue.js·spring boot·vue·毕业设计·课程设计
星空下的曙光2 小时前
MySQL → SQL → DDL → 表操作 → 数据类型 知识链整理成一份系统的内容
数据库·sql·mysql
小志的博客6 小时前
mysql——count(*)、count(1)和count(字段)谁更快?有什么区别?
mysql