【SpringBoot 搭建个人博客】- 实体类构建
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 方法):
评论