用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.数据库
  • MySQL 5.7

二、功能需求

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

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)]

留言属性:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只猪的思考

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值