码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【个人博客系统网站】框架升级 · 工程目录 · 数据库设计


    【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
    • 2
    • 3
    • 4
    • 5
    • 6

    配置文件修改:

    在这里插入图片描述

    两张表:

    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
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    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
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    建议将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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    5.3 扩展类UserInfoVO与ArticleInfoVO

    @Data
    public class UserInfoVO extends UserInfo {
        
    }
    
    • 1
    • 2
    • 3
    • 4
    @Data
    public class ArticleInfoVO extends ArticleInfo {
    
    }
    
    • 1
    • 2
    • 3
    • 4

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

    • 到时候遇到再说

    在这里插入图片描述


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

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


  • 相关阅读:
    (三)行为模式:8、状态模式(State Pattern)(C++示例)
    go 中 sort 如何排序,源码解读
    js中的原型链
    记录单片机编码的坑
    《动手学深度学习 Pytorch版》 4.6 暂退法
    RocketMQ 系列(三) 集成 SpringBoot
    【Datawhale】动手学数据分析
    香港服务器一定比美国服务器好吗?
    SAP-S4 BP 业务伙伴(客户与供应商)管理后台配置
    2023年【A特种设备相关管理(锅炉压力容器压力管道)】模拟考试题及A特种设备相关管理(锅炉压力容器压力管道)作业考试题库
  • 原文地址:https://blog.csdn.net/Carefree_State/article/details/132653382
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号