SpringBoot项目-博客系统-part1

  1. 在项目学习之前先了解一下项目所给的表,暂时未涉及权限的表。

ms_article(文章表)

1. id                           文章id,主键,分布式id
2. comment_counts               评论数量
3. create_date                  创建时间
4. summary                      简介
5. title                        标题
6. view_counts                  浏览数量
7. weights                      是否置顶
8. author_id                    作者id
9. body_id                      内容id
10. category_id                 类别id

ms_article_body(文章内容表)

1. id                           文章内容id,主键,分布式id
2. content                      具体内容
3. content_html                 写文章的内容
4. article_id                   对应文章表的id

ms_article_tag(文章标签表)

1. id                           文章标签id
2. article_id                   对应文章表的id
3. tag_id                       对应标签表中哪个标签

ms_category(类别表)

1. id                           分类类别id
2. avatar                       分类图标
3. category_name                分类名称
4. description                  分类描述

ms_comment(评论表)

1. id                           评论id          
2. content                      评论具体内容
3. create_date                  评论创建时间
4. article_id                   评论对应文章id
5. author_id                    评论对应作者id
6. parent_id                    一个评论上可以有父评论,就是父评论id
7. to_uid                       评论哪个用户
8. level                        评论是否有子评论,没有为1

ms_sys_user(用户表)

1. id                           用户表主键id
2. account                      用户账户
3. admin                        用户是否为管理员
4. avatar                       头像                   
5. create_date                  注册时间
6. deleted                      是否删除
7. email                        邮箱
8. last_login                   最后登录时间
9. mobile_phhone_number         手机号
10. nickname                    昵称
11. password                    密码
12. salt                        加密盐
13. status                      状态

ms_tag(标签表)

  • 与ms_article_tag不同的是,这个是独立的标签信息,比如spring、springboot...,没有与文章对应的关系
1. id                           标签表主键id
2. avatar                       图像
3. tag_name                     标签名称

涉及到的技术

springboot+mybatis-plus+redis+mysql

前端工程

npm install
npm run build
npm run dev

后端工程

1.1、构建自己的maven工程

SpringBoot项目-博客系统-part1

1.2 、配置文件

#server
server.port= 8888
spring.application.name=mszlu_blog
# datasource
spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=UTF-8&serverTimeZone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#mybatis-plus
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus.global-config.db-config.table-prefix=ms_

1.3、mybatis-plus插件

@Configuration
//扫包,将此包下的接口生成代理实现类,并且注册到spring容器中
@MapperScan("com.mszlu.blog.dao")
public class MybatisPlusConfig {
	//分页插件
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
}

1.4、跨域

  • 因为是前后端分离,前端使用到的端口是8080,后端使用的端口是8888,所以如果没有做跨域配置的话,那么前端无法连接到后端的服务器,访问不到。
  • 跨域配置
@Configuration
public class WebConfig  implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //跨域配置,不可设置为*,不安全, 前后端分离项目,可能域名不一致
        //本地测试 端口不一致 也算跨域
        registry.addMapping("/**").allowedOrigins("http://localhost:8080");
    }
}

1.5、启动类

  • 暂时项目大体结构完成,写一个启动类
@Configuration
public class WebConfig  implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //跨域配置,不可设置为*,不安全, 前后端分离项目,可能域名不一致
        //本地测试 端口不一致 也算跨域
        registry.addMapping("/**").allowedOrigins("http://localhost:8080");
    }
}
上一篇:Android 2020-2021年 最新面试题(附个人面试经历,深入剖析


下一篇:Django笔记(十一)实现对数据库的各种操作,比如分组,排序等