一、开发环境
MYSQL数据库
MySQL是一个真正的多用户、多线程SQL数据库服务器,是基于SQL的客户/服务器模式的关系数据库管理系统。
- 优点:功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等。
- 适用场景:非常适用于Web站点或者其他应用软件的数据库后端的开发工作。
- 特点:
- C和C++中使用和测试,以确保源代码的编译器的便携性和灵活性。
- 支持多种操作系统AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell Netware、OpenBSD系统、OS/2、Solaris、Windows等。
- 提供了用于不同的编程语言的API,如C、C++、Python、Java、Perl、PHP、Ruby和Tcl等。
- 支持多线程,充分利用CPU资源。
- 算法优化查询SQL,提高搜索速度。
- 支持多国语言,并可以嵌入在数据表和其他软件中。
- 提供TCP/IP、ODBC和JDBC数据库连接。
- 提供管理工具,控制和优化数据库操作。
- 可以处理大量记录的大型数据库。
B/S结构
B/S架构是一种基于互联网系统的软件系统开发架构,是现如今在软件系统开发中广泛使用的一种软件系统结构。
- 特点:
- 利用浏览器进行使用,不需要在使用的电脑上进行安装。
- 软件系统部署在远程服务器上,可以在任何接入互联网的电脑上访问。
- 简化了客户机的工作量,客户机上只需安装少量客户端运行软件。
- 服务器担负大量工作,对数据库的访问和应用程序的执行由服务器完成。
Spring Boot框架简介
Spring Boot是由Pivotal团队提供的全新框架,设计目的是简化新Spring应用的初始搭建以及开发过程。
- 特点:
- 使用特定方式进行配置,减少样板化配置。
- 致力于在快速应用开发领域成为领导者。
- 可以与经典的Java开发工具一起使用或作为命令行工具安装。
- 需要Java SDK 1.6或更高版本,本项目使用JDK 1.8版本。
VUE框架
Vue是一套用于构建用户界面的渐进式框架,与其它大型框架不同,Vue被设计为可以自底向上逐层应用。
- 特点:
- 核心库只关注视图层,易于上手,便于与第三方库或既有项目整合。
- 当与现代化的工具链及各种支持类库结合使用时,能够为复杂的单页应用提供驱动。
- 核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统。
二、 系统概要设计
1 概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图1所示:
2 系统结构
本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:
本系统是基于B/S架构的网站系统,设计的用户功能结构图如下图所示:
3 数据库设计
3.1 数据库实体
概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
设计方法:在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。
E-R图:
- 用户信息的实体属性图:
- 文章实体属性图:
- 管理员实体属性图:
3.2 数据库设计表
问答评论表:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
文章信息评论表:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
资料下载评论表:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
论坛交流:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
title | varchar(200) | 是 | NULL | 帖子标题 |
content | longtext | 否 | 帖子内容 | |
parentid | bigint(20) | 是 | NULL | 父节点id |
userid | bigint(20) | 否 | 用户id | |
username | varchar(200) | 是 | NULL | 用户名 |
isdone | varchar(200) | 是 | NULL | 状态 |
留言板:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 留言人id | |
username | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 留言内容 | |
reply | longtext | 是 | NULL | 回复内容 |
收藏表:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
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) | 否 | 收藏图片 |
管理员表:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
问答:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
biaoti | varchar(200) | 否 | 标题 | |
tupian | varchar(200) | 否 | 图片 | |
wentimiaoshu | longtext | 是 | NULL | 问题描述 |
faburiqi | date | 是 | NULL | 发布日期 |
yonghuming | varchar(200) | 是 | NULL | 用户名 |
文章分类:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
wenzhangfenlei | varchar(200) | 否 | 文章分类 |
文章信息:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
wenzhangbiaoti | varchar(200) | 否 | 文章标题 | |
wenzhangfenlei | varchar(200) | 否 | 文章分类 | |
biaoqian | varchar(200) | 是 | NULL | 标签 |
tupian | varchar(200) | 否 | 图片 | |
wenzhangneirong | longtext | 是 | NULL | 文章内容 |
faburiqi | date | 是 | NULL | 发布日期 |
yonghuming | varchar(200) | 是 | NULL | 用户名 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
用户:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yonghuming | varchar(200) | 否 | 用户名 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 是 | NULL | 姓名 |
touxiang | varchar(200) | 是 | NULL | 头像 |
xingbie | varchar(200) | 是 | NULL | 性别 |
lianxidianhua | varchar(200) | 是 | NULL | 联系电话 |
资料分类:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
ziliaofenlei | varchar(200) | 否 | 资料分类 |
资料下载:
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
ziliaobiaoti | varchar(200) | 否 | 资料标题 | |
ziliaofenlei | varchar(200) | 是 | NULL | 资料分类 |
fengmiantu | varchar(200) | 是 | NULL | 封面图 |
neirongjianjie | longtext | 是 | NULL | 内容简介 |
ziliao | varchar(200) | 是 | NULL | 资料 |
faburiqi | date | 是 | NULL | 发布日期 |
yonghuming | varchar(200) | 是 | NULL | 用户名 |
三、系统详细实现
用户管理
知识管理系统的管理员可以对用户进行新增、修改、删除、查询操作。具体界面的展示如图1所示。
文章分类
管理员登录可以在文章分类新增、修改、删除、查询资料分类。具体界面如图2所示。
资料分类
管理员登录后可以对资料分类信息进行新增、修改、删除以及查询操作。界面如下图所示:
3 用户模块的实现
文章信息
用户可以在首页查看文章信息,也可以对文章信息进行收藏操作。界面如下图所示:
论坛交流
用户可以在论坛交流里面发布信息和查看信息,发布信息需要提前登录才可以操作。界面如下图所示:
资料下载
用户登录后在后台管理可以对资料进行添加、修改、删除操作,并可以查看下载信息和评论信息。界面如下图所示: