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

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

文章目录

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

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

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

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

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

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

4. 数据库设计

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

一个数据库:

  • myblog_system
sql 复制代码
-- 创建数据库
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 状态(预留字段)
sql 复制代码
-- 创建表[用户表]
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 状态(预留字段)
sql 复制代码
-- 创建文章表
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类

java 复制代码
@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类

java 复制代码
@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

java 复制代码
@Data
public class UserInfoVO extends UserInfo {
    
}
java 复制代码
@Data
public class ArticleInfoVO extends ArticleInfo {

}

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

  • 到时候遇到再说

文章到此结束!谢谢观看

可以叫我 小马 ,我可能写的不好或者有错误,但是一起加油鸭🦆

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


相关推荐
m0_5474866616 分钟前
计算机网络名词解释汇总
网络·计算机网络
Abladol-aj17 分钟前
并发和并行的基础知识
java·linux·windows
清水白石00817 分钟前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
Elihuss1 小时前
ONVIF协议操作摄像头方法
开发语言·php
Swift社区5 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht5 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht5 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20245 小时前
Swift 数组
开发语言
Python私教5 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
吾日三省吾码6 小时前
JVM 性能调优
java