个人博客系统目录
目录
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️
主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。
🍅文末获取源码联系🍅
👉 毕设答疑 👈
基于Springboot的个人博客系统设计与实现
一、前言
本次开发的个人博客系统,有管理员,用户,博主三个角色。管理员功能有个人中心,用户管理,博主管理,文章分类管理,博主文章管理,系统公告管理,轮播图管理。博主可以注册登录,修改个人信息,对自己发布的博主文章进行管理操作。用户可以注册登录,查看管理员发布的公告信息和博主发布的文章信息,还可以对博主文章进行收藏评论以及评论操作。开发本程序后台用到了Spring Boot开发技术,页面设计采用VUE框架和layui样式。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。程序从需求到设计,从开发到测试,都在功能上和性能上都不断的进行了调试,让开发的程序在使用上用户体验更美好。
关键词:个人博客系统;Spring Boot;MySQL;VUE; Layui
二、系统功能设计
程序的功能在系统分析这部分已经确定了,这部分主要还是针对程序功能进行更加详细的设计,设计成果使用结构图展示直观明了,也更容易让人理解。
三、系统实现
1、管理员功能实现
(1)用户管理
管理员可以对用户信息进行添加,修改,删除,查询操作。
图5.1 用户管理页面
(2)文章分类管理
管理员可以对文章分类信息进行添加,修改,删除,查询操作。
图5.2 文章分类管理页面
(3)公告信息管理
管理员可以对公告信息进行添加,修改,删除,查询操作。
图5.3 公告信息管理页面
(4)博主信息管理
管理员可以对博主信息信息进行添加,修改,删除,查询操作。
图5.4 博主信息管理页面
2、博主功能实现
(1)博主文章管理
博主可以对自己发布过的博主文章信息进行添加,修改,删除,查询操作,还可以查看评论。
图5.5首页页面
3、用户功能实现
(1)博主文章信息
用户可以在博主文章里面查看到博主发布的文章信息,可以对博主文章信息进行查看,收藏,赞踩,评论操作。
图5.6 博主文章信息页面
(2)我的收藏
我的收藏里面可以看到自己收藏过的博主文章信息,可以去点击收藏的信息去取消收藏。
图5.7 我的收藏页面
四、数据库设计
1、实体ER图
个人博客系统的E-R图如下图所示:
(1)个人博客系统设计了管理员实体,管理员实体属性图会在下图进行展示,此图的绘制工具是Visio工具。
图4.4 管理员实体属性图
(2)个人博客系统设计了用户实体,用户实体属性图会在下图进行展示,此图的绘制工具是Visio工具。
图4.5 用户实体属性图
(3)个人博客系统设计了文章分类实体,文章分类实体属性图会在下图进行展示,此图的绘制工具是Visio工具。
图4.6 文章分类实体属性图
2、具体的表设计如下所示:
系统公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | title | String | 标题 | 是 |
4 | introduction | String | 简介 | 是 |
5 | picture | String | 图片 | 是 |
6 | content | String | 内容 | 是 |
博主文章表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | wenzhangbiaoti | String | 文章标题 | 是 |
4 | wenzhangfenlei | String | 文章分类 | 是 |
5 | tupian | String | 图片 | 是 |
6 | bozhuhao | String | 博主号 | 是 |
7 | bozhuming | String | 博主名 | 是 |
8 | fabushijian | datetime | 发布时间 | 是 |
9 | jianshu | String | 简述 | 是 |
10 | wenzhangneirong | String | 文章内容 | 是 |
11 | thumbsupnum | Integer | 赞 | 是 |
12 | crazilynum | Integer | 踩 | 是 |
13 | clicktime | datetime | 最近点击时间 | 是 |
14 | clicknum | Integer | 点击次数 | 是 |
博主文章评论表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | refid | Integer | 关联表id | 是 |
4 | userid | Integer | 用户id | 是 |
5 | nickname | String | 用户名 | 是 |
6 | content | String | 评论内容 | 是 |
7 | reply | String | 回复内容 | 是 |
博主表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | bozhuhao | String | 博主号 | 是 |
4 | bozhuming | String | 博主名 | 是 |
5 | mima | String | 密码 | 是 |
6 | xingbie | String | 性别 | 是 |
7 | nianling | Integer | 年龄 | 是 |
8 | lianxidianhua | String | 联系电话 | 是 |
9 | dianziyouxiang | String | 电子邮箱 | 是 |
10 | touxiang | String | 头像 | 是 |
11 | jianjie | String | 简介 | 是 |
五、核心代码
package com.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;
import com.dao.WenzhangfenleiDao;
import com.entity.WenzhangfenleiEntity;
import com.service.WenzhangfenleiService;
import com.entity.vo.WenzhangfenleiVO;
import com.entity.view.WenzhangfenleiView;
@Service("wenzhangfenleiService")
public class WenzhangfenleiServiceImpl extends ServiceImpl<WenzhangfenleiDao, WenzhangfenleiEntity> implements WenzhangfenleiService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
Page<WenzhangfenleiEntity> page = this.selectPage(
new Query<WenzhangfenleiEntity>(params).getPage(),
new EntityWrapper<WenzhangfenleiEntity>()
);
return new PageUtils(page);
}
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<WenzhangfenleiEntity> wrapper) {
Page<WenzhangfenleiView> page =new Query<WenzhangfenleiView>(params).getPage();
page.setRecords(baseMapper.selectListView(page,wrapper));
PageUtils pageUtil = new PageUtils(page);
return pageUtil;
}
@Override
public List<WenzhangfenleiVO> selectListVO(Wrapper<WenzhangfenleiEntity> wrapper) {
return baseMapper.selectListVO(wrapper);
}
@Override
public WenzhangfenleiVO selectVO(Wrapper<WenzhangfenleiEntity> wrapper) {
return baseMapper.selectVO(wrapper);
}
@Override
public List<WenzhangfenleiView> selectListView(Wrapper<WenzhangfenleiEntity> wrapper) {
return baseMapper.selectListView(wrapper);
}
@Override
public WenzhangfenleiView selectView(Wrapper<WenzhangfenleiEntity> wrapper) {
return baseMapper.selectView(wrapper);
}
}
六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
大家点赞、收藏、关注、评论啦 、👇🏻获取联系方式在文章末尾👇🏻