写点什么

【SpringBoot 搭建个人博客】- 实体类构建

  • 2022 年 4 月 23 日
  • 本文字数:1686 字

    阅读完需:约 6 分钟

private Long id;


private String title;


private String content;


private String firstPicture;


private String flag;


private Integer views;


private Integer commentCount;


private boolean appreciation;


private boolean shareStatement;


private boolean commentabled;


private boolean published;


private boolean recommend;


private Date createTime;


private Date updateTime;


private String description;


private Type type;


private User user;


private Long typeId;


private Long userId;


private List<Comment> comments = new ArrayList<>();


}

2.分类实体类

分析:


问:分类实体类需要设置哪些变量呢?



答:一个 id 和一个分类名称不就可以了吗。



问:可以吗?还记不记得在之前设计表结构的时候,博客和分类是多对一的关系,一篇博客对应一个分类,一个分类可以对应多篇博客,这里就要涉及到 Mybatis 的多对一和一对多的关系了,因此在实体类中也要体现出来,要如何体现呢?



答:除了 id 和分类名称外,还需要定义“博客”变量


在 entity 目录下创建 Type 分类实体类,代码如下(省略 get、set 和 toString 方法):


package com.star.entity;


import java.util.ArrayList;


import java.util.List;


/**


  • @Description: 分类实体类

  • @Date: Created in 17:26 2020/5/31

  • @Author: ONESTAR

  • @QQ 群: 530311074

  • @URL: https://onestar.newstar.net.cn/


*/


public class Type {


private Long id;


private String name;


private List<Blog> blogs = new ArrayList<>();


}

3.评论实体类

分析:


问:评论实体类需要设置哪些变量呢?



答:数据库中设计的属性:主键(id)、昵称(nickname)、邮箱(email)、头像(avatar)、评论内容(content)、创建时间(createTime)、博客 id(blogId)、父评论 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 id(parentCommentId)、是否为管理员评论(adminComment)



问:够了吗?同样,在之前表结构设计的时候,博客和评论是一对多的关系,评论和回复是一对多的关系,在实体类中当然也要体现出来,要如何体现呢?



答:除了上述变量外,还需要回复评论集合(replyComments)用来存储回复信息、父评论昵称(parentNickname)用来设置父级评论的 id 以及父评论(parentComment)用来显示父级评论姓名


在 entity 目录下创建 Comment 评论实体类,代码如下(省略 get、set 和 toString 方法):


package com.star.entity;


import java.util.ArrayList;


import java.util.Date;


import java.util.List;


/**


  • @Description: 评论实体类

  • @Date: Created in 11:12 2020/6/1

  • @Author: ONESTAR

  • @QQ 群: 530311074

  • @URL: https://onestar.newstar.net.cn/


*/


public class Comment {


private Long id;


private String nickname;


private String email;


private String content;


private String avatar;


private Date createTime;


private Long blogId;


private Long parentCommentId;


private boolean adminComment;


//回复评论


private List<Comment> replyComments = new ArrayList<>();


private Comment parentComment;


private String parentNickname;


}

4.留言实体类

留言和评论是一样的,只是少了博客 id(blogId)变量,这里就不做分析,直接给出代码(省略 get、set 和 toString 方法):


package com.star.entity;


import java.util.ArrayList;


import java.util.Date;


import java.util.List;


/**


  • @Description: 留言实体类

  • @Date: Created in 11:44 2020/6/1

  • @Author: ONESTAR

  • @QQ 群: 530311074

  • @URL: https://onestar.newstar.net.cn/


*/


public class Message {


private Long id;


private String nickname;


private String email;


private String content;


private String avatar;


private Date createTime;


private Long parentMessageId;


private boolean adminMessage;


//回复留言


private List<Message> replyMessages = new ArrayList<>();


private Message parentMessage;


private String parentNickname;


}

5.友链实体类

友链没有和其他表进行关联,只有单表查询,变量就是属性,就不做分析,直接给代码(省略 get、set 和 toString 方法):

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
【SpringBoot搭建个人博客】- 实体类构建_Java_爱好编程进阶_InfoQ写作社区