2 Star 0 Fork 0

锁钥 / myBlog2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

个人博客系统-V2.0(SpringBoot+Mybatis+Redis)

博客地址: http://suoyue.top/

旧版:Blog-V1.0

持久层基于JPA的教学视频:https://www.bilibili.com/video/BV1nE411r7TF?t=1514&p=40

视频原作者:https://edu.csdn.net/course/detail/6359?utm_source=edu_bbs_autocreate

参考博客:https://onestar.newstar.net.cn/

一、技术栈

1.前端

2.后端

  • 核心框架:SpringBoot 2.2.5
  • 项目构建:jdk1.8、Maven 3
  • 持久层框架:Mybatis
  • swagger规范:Swagger
  • 分布式文件系统:fastDFS
  • 模板框架:Thymeleaf
  • 分页插件:PageHelper
  • 加密:MD5加密
  • 图形验证码:EasyCaptcha
  • Markdown格式转换:Markdown
  • 邮件发送sdk:javax mail

3.数据库

  • MySQL 5.7
  • Redis 5.0.8

4.项目部署

二、功能需求

  • 前端博客的人性化展示、交互系统
  • 后台博客的综合信息管理系统

1.普通用户

  • 查看文章信息:文章列表、推荐文章、文章标题、文章内容、发布时间、访问量以及评论等信息
  • 查看分类文章:分类列表、分类文章信息
  • 查看时间轴:按照文章时间发布顺序查看文章
  • 留言:留言并回复
  • 查看数据:查看网站的数据统计及疫情地图(小功能)
  • 查看友链:查看并访问博主在友链页面添加的友链连接和推荐网址
  • 搜索文章:导航栏右边搜索框根据关键字搜索

2.管理员用户(栈主)

  • 拥有普通用户所有功能权限
  • 登录:在主页路径下加“/admin”,可进入登录页面,根据数据库的用户名和密码进行登录
  • 文章管理:查询文章列表、新增文章、编辑文章、删除文章、搜索文章
  • 分类管理:CRUD
  • 友链管理:CRUD
  • 消息管理:登录后恢复评论留言会显示栈主的头像信息,并能显示删除消息按键,可以对消息进行删除
  • 图片管理:CRUD

三、数据库设计

1.数据信息表

  • 用户信息表:t_user
  • 文章信息表:t_blog
  • 分类信息表:t_type
  • 评论信息表:t_comment
  • 图片信息表:t_picture
  • 留言信息表:t_message
  • 友链信息表:t_friend
  • 访问信息表:t_view

2.表结构

PowerDesigner设计的可视化表结构信息

输入图片说明

3.实体关系

输入图片说明

  • 博客和分类是多对一的关系:一个博客对应一个分类,一个分类可以对应多个博客
  • 博客和用户是多对一的关系:一个博客对应一个用户,一个用户可以对应多个博客
  • 博客和评论是一对多的关系:一个博客可以对应多个评论,一个评论对应一个博客
  • 评论和回复是一对多的关系:一个评论可以对应多个回复,一个回复对应一个评论

留言和评论是一样的,友链数据表、访问量数据表和其他表没有关联

4.实体属性

  • 用户属性:昵称、用户名、密码、邮箱、类型、头像、创建时间、更新时间

输入图片说明

  • 文章属性:标题、内容、首图、标记、浏览次数、赞赏开启、版权开启、评论开启、是否发布、创建时间、更新时间、描述

输入图片说明

  • 分类属性:分类名称

输入图片说明

  • 评论属性:昵称、邮箱、头像、评论内容、创建时间、博客id、父评论id、管理员id

输入图片说明

  • 图片属性:图片链接、图片类型、图片创建时间

输入图片说明

  • 留言属性:昵称、邮箱、头像、留言内容、创建时间、父留言id、管理员id

输入图片说明

  • 友链属性:友链类型、网址、名称、创建时间、图片地址

输入图片说明

  • 访问量属性:日期、日访问量

输入图片说明

5.建表语句

/*
SQLyog Ultimate v12.08 (64 bit)
MySQL - 5.7.24 : Database - myblog
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`myblog` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `myblog`;


/*Table structure for table `t_user` */

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `avatar` varchar(255) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `nickname` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `type` int(11) DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `username` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `t_user` */

/*Table structure for table `t_type` */

DROP TABLE IF EXISTS `t_type`;

CREATE TABLE `t_type` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `t_type` */

/*Table structure for table `t_blog` */

DROP TABLE IF EXISTS `t_blog`;

CREATE TABLE `t_blog` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `appreciation` bit(1) NOT NULL,
  `commentabled` bit(1) NOT NULL,
  `content` longtext,
  `create_time` datetime DEFAULT NULL,
  `description` varchar(255) DEFAULT NULL,
  `first_picture` varchar(255) DEFAULT NULL,
  `flag` varchar(255) DEFAULT NULL,
  `published` bit(1) NOT NULL,
  `recommend` bit(1) NOT NULL,
  `share_statement` bit(1) NOT NULL,
  `title` varchar(255) DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `views` int(11) DEFAULT NULL,
  `type_id` bigint(20) DEFAULT NULL,
  `user_id` bigint(20) DEFAULT NULL,
  `comment_count` int(255) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  KEY `type_blog_fk` (`type_id`) USING BTREE,
  KEY `user_blog_fk` (`user_id`) USING BTREE,
  CONSTRAINT `type_blog_fk` FOREIGN KEY (`type_id`) REFERENCES `t_type` (`id`),
  CONSTRAINT `user_blog_fk` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `t_blog` */

/*Table structure for table `t_comment` */

DROP TABLE IF EXISTS `t_comment`;

CREATE TABLE `t_comment` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `nickname` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `content` varchar(255) DEFAULT NULL,
  `avatar` varchar(255) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `blog_id` bigint(20) DEFAULT NULL,
  `parent_comment_id` bigint(20) DEFAULT NULL,
  `admin_comment` bit(1) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `t_comment` */

/*Table structure for table `t_friend` */

DROP TABLE IF EXISTS `t_friend`;

CREATE TABLE `t_friend` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `uid` int(2) NOT NULL COMMENT '0-自荐网址;1-友链',
  `blogaddress` varchar(255) NOT NULL,
  `blogname` varchar(255) NOT NULL,
  `create_time` datetime DEFAULT NULL,
  `pictureaddress` varchar(255) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `t_friend` */

/*Table structure for table `t_message` */

DROP TABLE IF EXISTS `t_message`;

CREATE TABLE `t_message` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `nickname` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `content` varchar(255) DEFAULT NULL,
  `avatar` varchar(255) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `parent_message_id` bigint(20) DEFAULT NULL,
  `admin_message` bit(1) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `t_message` */


/*Table structure for table `t_picture` */

DROP TABLE IF EXISTS `t_picture`;

CREATE TABLE `t_picture` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `url` varchar(255) NOT NULL,
  `is_valid` bit(1) NOT NULL,
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `t_picture` */

/*Table structure for table `t_view` */

DROP TABLE IF EXISTS `t_view`;

CREATE TABLE `t_view` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `date_time` datetime NOT NULL COMMENT '日期',
  `view` int(11) NOT NULL COMMENT '日访问量',
  PRIMARY KEY (`id`),
  KEY `date_time` (`date_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `t_view` */

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

空文件

简介

基于SpringBoot/Mybatis/Redis的个人博客系统 展开 收起
JavaScript 等 4 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/suoyue__zhan/my-blog2.git
git@gitee.com:suoyue__zhan/my-blog2.git
suoyue__zhan
my-blog2
myBlog2
master

搜索帮助