【个人博客系统网站】框架升级 · 工程目录 · 数据库设计

【JavaEE】进阶 · 个人博客系统(1)

在这里插入图片描述

文章目录

  • 【JavaEE】进阶 · 个人博客系统(1)
    • 1. 使用Spring全家桶 + MyBatis框架进行开发
    • 2. 页面
      • 2.1 登录页
      • 2.2 注册页
      • 2.3 详情页
      • 2.4 我的博客列表页
      • 3.5 所有人的博客列表页
      • 3.6 添加博客页
      • 3.7 修改文章页
    • 3. 将静态资源部署到项目里
    • 4. 数据库设计
      • 4.1 userinfo表
      • 4.2 articleinfo表
    • 5. 创建实体类
      • 5.1 model.UserInfo类
      • 5.2 model.ArticleInfo类
      • 5.3 扩展类UserInfoVO与ArticleInfoVO

【JavaEE】进阶 · 个人博客系统(1)

1. 使用Spring全家桶 + MyBatis框架进行开发

在这里插入图片描述

在这里插入图片描述

标准项目目录:

在这里插入图片描述

  1. controller,前后端交互控制器,接受请求,[处理请求],调用service,将响应返回给前端
  2. service,调用数据持久层mapper层
  3. mapper,进行数据库操作
  4. model,实体类
  5. common,公共类,Utils工具类
    • utils是“utilities”的缩写,即工具、实用程序或实用工具的意思
  6. config,配置类
  7. component,组件

2. 页面

旧版本博客系统:

  1. 【JavaEE】前后端综合项目-博客系统(下)_s:103的博客-CSDN博客
  2. 【JavaEE】前后端综合项目-博客系统(下)_s:103的博客-CSDN博客

而进阶版的博客系统有以下几个页面,并总结需要用到的数据:

2.1 登录页

用户信息:

  1. 用户名
  2. 密码
  3. 头像

2.2 注册页

在这里插入图片描述

用户信息:

  1. 昵称

  2. 代码仓库链接

  3. 密码

  4. 头像

  5. 自动生成的用户名和id

2.3 详情页

在这里插入图片描述

用户信息:

  1. 博文作者id
  2. 代码仓库链接
  3. 文章总数

博文信息:

  1. 作者id
  2. 文章id
  3. 标题
  4. 时间
  5. 正文
  6. 阅读量

2.4 我的博客列表页

在这里插入图片描述

用户信息:

  1. 博文作者id
  2. 代码仓库链接
  3. 文章总数

博文信息:

  1. 标题
  2. 时间
  3. 摘要

3.5 所有人的博客列表页

在这里插入图片描述

博文信息:

  1. 作者id
  2. 文章id
  3. 作者头像
  4. 标题
  5. 时间
  6. 摘要

3.6 添加博客页

在这里插入图片描述

用户信息:

  1. 用户id

博文信息:

  1. 作者id,即当前用户id
  2. 标题
  3. 正文
  4. 创建时间,即提交时的时间
  5. 自动生成的文章id

3.7 修改文章页

在这里插入图片描述

用户信息:

  1. 用户id

博文信息:

  1. 文章id
  2. 作者id,即当前用户id
  3. 标题
  4. 正文
  5. 更新时间,即提交时的时间

前端代码链接(不带前后端交互代码的):

  • 个人博客系统静态页面 · 游离态/马拉圈2023年9月 - 码云 - 开源中国 (gitee.com)

新增页面的实现,项目功能升级,项目的亮点,我们会渗透一个页面一个页面的实现讲解中提到,最终进行总结!

  • 前端画面显示以及代码逻辑,后续根据相应的功能和逻辑进行调整以及补充即可
  • 甚至可能进行较大的修改!
  • 不过不需要纠结太多前端的东西~

3. 将静态资源部署到项目里

静态资源都是部署到resource的static目录里的:

在这里插入图片描述

4. 数据库设计

根据第2点的分析,总结出

一个数据库:

  • myblog_system
-- 创建数据库
drop database if exists myblog_system;
create database myblog_system charset=utf8;-- 使用数据数据
use myblog_system;

配置文件修改:

在这里插入图片描述

两张表:

  1. userinfo 用户表
  2. articleinfo 博文表

4.1 userinfo表

  1. id,用户id
  2. username,用户名
  3. name, 昵称
  4. password,密码
  5. photo,头像
  6. git,代码仓库链接
  7. createtime,创建时间
  8. updatetime,更新时间
  9. state 状态(预留字段)
-- 创建表[用户表]
drop table if exists  userinfo;
create table userinfo(id int primary key auto_increment,username varchar(15) not null unique,name varchar(100) not null,password varchar(65) not null,photo varchar(500) default '',git varchar(500) default '',createtime timestamp default current_timestamp,updatetime timestamp default current_timestamp,`state` int default 1
);

4.2 articleinfo表

  1. id,文章id
  2. title,标题
  3. content,正文
  4. summary,摘要
  5. createtime,创建时间
  6. updatetime,更新时间
  7. uid,作者id
  8. photo,作者头像
  9. rcount,阅读量
  10. state 状态(预留字段)
-- 创建文章表
drop table if exists  articleinfo;
create table articleinfo(id int primary key auto_increment,title varchar(100) not null,content text not null,summary text not null,createtime timestamp default current_timestamp,updatetime timestamp default current_timestamp,uid int not null,photo varchar(500) default '',rcount int not null default 1,`state` int default 1
);

建议将sql语句先在sql文件中编写:

在这里插入图片描述

将SQL语句复制粘贴到mysql:

在这里插入图片描述

5. 创建实体类

5.1 model.UserInfo类

@Data
public class UserInfo {private int id;private String username;private String name;private String password;private String photo;private String git;private LocalDateTime createtime;private LocalDateTime updatetime;private int state;
}

5.2 model.ArticleInfo类

@Data
public class ArticleInfo {private int id;private String title;private String content;private String summary;private LocalDateTime createtime;private LocalDateTime updatetime;private int uid;private String photo;private int rcount;private int state;
}

5.3 扩展类UserInfoVO与ArticleInfoVO

@Data
public class UserInfoVO extends UserInfo {}
@Data
public class ArticleInfoVO extends ArticleInfo {}

对于一些特殊情况,特殊处理,可以在这里面增加属性,不是增加在原类里,因为数据库的表并没有变化,只不过这个对象要附带一些东西~

  • 到时候遇到再说

在这里插入图片描述


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

代码:myblog_system · 游离态/马拉圈2023年9月 - 码云 - 开源中国 (gitee.com)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/96181.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis与Mysql区别

一、关系型数据库 mysql,pgsql,oracle ,sqlserver 支持连表关联查询(会有一些特定的语法特特性) 二、非关系型数据库 redis,mongodb,memcache (key-value) 三、关系型数据库与非关系型数据库的区别: 1&am…

java八股文面试[多线程]——synchronized锁升级过程

速记:偏向-轻量-重量 锁膨胀 上面讲到锁有四种状态,并且会因实际情况进行膨胀升级,其膨胀方向是:无锁——>偏向锁——>轻量级锁——>重量级锁,并且膨胀方向不可逆 一.锁升级理论. 在synchronized锁升级过程…

【UE 材质】实现角度渐变材质、棋盘纹理材质

目标 步骤 一、角度渐变材质 1. 首先通过“Mask”节点将"Texture Coordinate" 节点的R、G通道分离 2. 通过“RemapValueRange”节点将0~1范围映射到-1~1 可以看到此时R通道效果: G通道效果: 继续补充如下节点 二、棋盘纹理材质 原视频链接&…

python调用git出错:ImportError: Failed to initialize: Bad git executable.

报错信息 #报错信息 Traceback (most recent call last): File “”, line 1, in File “C:\Python27\lib\site-packages\git_init_.py”, line 85, in raise ImportError(‘Failed to initialize: {0}’.format(exc)) ImportError: Failed to initialize: Bad git executab…

在windows下安装配置skywalking

1.下载地址 Downloads | Apache SkyWalkinghttp://skywalking.apache.org/downloads/ 2.文件目录说明 将文件解压后,可看到agent和bin目录: Agent:作为探针,安装在服务器端,进行数据采集和上报。 Config&#xff1a…

[国产MCU]-W801开发实例-用户报文协议(UDP)数据接收和发送

用户报文协议(UDP)数据接收和发送 文章目录 用户报文协议(UDP)数据接收和发送1、UDP简单介绍2、W801的UDP创建逻辑2.1 UDP使用步骤2.2 代码实现1、UDP简单介绍 用户数据报协议 (UDP) 是一种跨互联网使用的通信协议,用于对时间敏感的传输,例如视频播放或 DNS查找。它通过在数…

Leetcode54螺旋矩阵

思路:用set记录走过的地方,记下走的方向,根据方向碰壁变换 class Solution:def spiralOrder(self, matrix: list[list[int]]) -> list[int]:max_rows len(matrix)max_cols len(matrix[0])block_nums max_cols * max_rowscount 1i 0j…

DB-GPT使用

一、源码安装 安装 请按照以下步骤安装DB-GPT 1. Hardware Requirements 如果你的显存不够,DB-GPT支持8-bit和4-bit量化版本 2. Install git clone https://github.com/eosphoros-ai/DB-GPT.git目前使用Sqlite作为默认数据库,因此DB-GPT快速部署不…

windows环境搭建ELK

目录 资源下载(8.9.1) ES安装、注册、使用 Kibana安装、注册、使用 Logstash安装、注册、使用 Filebeat安装、使用(如果只有一个数据流,则不需要使用filebeat,直接上logstash即可) 资源下载&#xff0…

java对象的组成部分

在 HotSpot 虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding) 对象头主要由两部分组成: 第一部分存…

如何中mac上安装多版本python并配置PATH

摘要 mac 默认安装的python是 python3,但是如果我们需要其他python版本时,该怎么办呢? 例如:需要python2 版本,如果使用homebrew安装会提示没有python2。同时使用python --version 会发现commond not found。 所以本…

【数据结构】树和二叉树的概念及结构(一)

目录 一,树的概念及结构 1,树的定义 2,树结点的分类及关系 3,树的表示 二,二叉树的概念及结构 1,二叉树的定义 2,特殊的二叉树 3,二叉树的性质 4,二叉树的存储结构 1&…