用springboot搭建一个个人博客

Posted 一只猪的思考

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用springboot搭建一个个人博客相关的知识,希望对你有一定的参考价值。

􏰀􏰁􏰂􏰃􏰄􏰅􏰆SpringBoot+layui+JPA+Semantic UI

博客访问地址: http://www.liujin.top:8080

本文将从技术栈、功能需求、数据库设计来讲述,前端页面展示可以看我上一篇文章前端介绍

一、技术栈

1.前端

2.后端

  • 核心框架:SpringBoot 2.2.5
  • 项目构建:jdk1.8、Maven 3
  • 持久层框架:jpa
  • 模板框架:Thymeleaf
  • 加密:MD5加密
  • 运行环境:阿里云Centos7

3.数据库

二、功能需求

因为是个人博客,所以没有做用户权限管理,只是简单的区分了一下普通用户和管理员用户,这里就根据普通用户和管理员用户来讲述功能需求,其实从上一篇博文的前端页面就能大致的看出需求了

1.普通用户

  • 查看文章信息:文章列表、推荐文章、文章标题、文章内容、发布时间、访问量以及评论等信息
  • 查看分类文章:分类列表、分类文章信息
  • 查看时间轴:按照文章时间发布顺序查看文章
  • 搜索文章:导航栏右边搜索框根据关键字搜索

2.管理员用户(栈主)

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

三、数据库设计

􏲸由jpa自动建表,运用@ManyToOne, @OneToMany, @ManyToMany, @OneToOne注释处理
表之间的关系,在遇到事务管理时在serviceimpl上加,上@Transactional注释,需要注意的是,在
pojo层需要指定@Entity(name = “t_ .blog”)@Table指定表名,用@ld
@GeneratedValue指定主键,遇到加载长文本时也可以用@Basic(fetch = FetchType.LAZY)@Lob
进行懒加载

1.数据表

  • 博客数据表:t_blog
  • 分类数据表:t_type
  • 用户数据表:t_user
  • 评论数据表:t_comment
  • 留言数据表:t_message

2.实体关系

在这里插入图片描述
在这里插入图片描述

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

留言和评论是一样的,还有友链和相册数据表和其他表没有关联

3.实体属性

博客属性:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2z5JpSkK-1620015968504)(https://note.youdao.com/yws/api/personal/file/CF5106DE22344BB481B3412A5BFAAAB9?method=download&shareKey=ae43526cd18465a53011fccbbe6e25c8)]

分类属性:
在这里插入图片描述

用户属性:

评论属性:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2vUEDOpP-1620015968510)(https://note.youdao.com/yws/api/personal/file/012FA484A82F47F5834BDB3FF7F1F668?method=download&shareKey=e971a831c76926da204a87ec5ac41a48)]

留言属性:

以上是关于用springboot搭建一个个人博客的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot技术栈搭建个人博客项目准备

手把手教你基于Springboot+Vue搭建个人博客网站

SpringBoot搭建个人博客- 友链管理

个人博客系统之框架搭建

怎么用markdown搭建个人博客

springboot vue组件写的个人博客系统