一.创建实体类
1.User:用户
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/*
用户
*/
@Data
public class User implements Serializable {
private static final long serialVersionUID = -4415517704211731385L;
private Integer userId; //用户ID
private String userName; //用户名称
private String userPass; //用户登录密码
private String userNickname; //用户昵称
private String userEmail; //邮件
private String userUrl; //网址
private String userAvatar; //头像
private String userLastLoginIp; //上一次登录IP
private Date userRegisterTime; //注册时间
private Date userLastLoginTime; //上一次登录时间
private Integer userStatus; //状态
private Integer userAssess; //用户权限
private Integer articleCount; //文章数量,不是数据库的字段
}
2.Article:文章
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/*
文章
*/
@Data
public class Article implements Serializable {
private static final long serialVersionUID = 5207865247400761539L;
private Integer articleId; //ID
private Integer articleUserId; //作者ID
private String articleTitle; //标题
private Integer articleViewCount; //查看数量
private Integer articleCommentCount; //评论数量
private Integer articleLikeCount; //点赞数量
private Date articleCreateTime; //创建时间
private Date articleUpdateTime; //更新时间
private Integer articleIsComment; //是否评论
private Integer articleStatus; //状态
private Integer articleOrder; //顺序
private String articleContent; //内容
private String articleSummary; //总结
private User user; //发布用户
private List<Tag> tagList; //标签列表
private List<Category> categoryList; //分类列表
}
3.Category:文章分类
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
/*
文章分类
*/
@Data
public class Category implements Serializable {
private static final long serialVersionUID = 6687286913317513141L;
private Integer categoryId; //ID
private Integer categoryPid; //分类的父ID
private String categoryName; //名称
private String categoryDescription; //描述
private Integer categoryOrder; //优先顺序
private String categoryIcon; //图像
private Integer articleCount; //文章数量
private Integer categoryUserId; //分类属于哪个用户
public Category(Integer categoryId, String categoryName) {
this.categoryId = categoryId;
this.categoryName = categoryName;
}
public Category(Integer categoryId, Integer categoryPid, String categoryName, String categoryDescription, Integer categoryOrder, String categoryIcon, Integer articleCount, Integer categoryUserId) {
this.categoryId = categoryId;
this.categoryPid = categoryPid;
this.categoryName = categoryName;
this.categoryDescription = categoryDescription;
this.categoryOrder = categoryOrder;
this.categoryIcon = categoryIcon;
this.articleCount = articleCount;
this.categoryUserId = categoryUserId;
}
public Category(Integer categoryId) {
this.categoryId = categoryId;
}
/*
未分类
*/
public static Category Default(){
return new Category(100000000,"未分类");
}
}
4.Tag:标签
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
/*
标签
*/
@Data
public class Tag implements Serializable {
private static final long serialVersionUID = 605449151900057035L;
private Integer tagId; //标签ID
private String tagName; //标签名称
private String tagDescription; //标签描述
private Integer tagUserId; //标签属于哪个用户
private Integer articleCount; //文章数量,不是数据库字段
public Tag(){
}
public Tag(Integer tagId){
this.tagId=tagId;
}
public Tag(Integer tagId, String tagName, String tagDescription, Integer tagUserId, Integer articleCount) {
this.tagId = tagId;
this.tagName = tagName;
this.tagDescription = tagDescription;
this.tagUserId = tagUserId;
this.articleCount = articleCount;
}
}
5.Comment:评论
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/*
评论
*/
@Data
public class Comment implements Serializable {
private static final long serialVersionUID = -1038897351672911219L;
private Integer commentId; //ID
private Integer commentPid; //评论的评论需要,父ID
private String commentPname; //评论的评论需要,父名称
private Integer commentArticleId; //评论的文章ID
private String commentAuthorName; //作者名称
private String commentAuthorEmail; //作者邮件
private String commentAuthorUrl; //网址
private String commentAuthorAvatar; //图像
private String commentContent; //内容
private String commentAgent; //代理
private String commentIp;; //IP
private Date commentCreateTime; //创建时间
private Integer commentRole; //角色,管理员1,访客0
private Article article; //非数据库字段。评论的文章
}
6.Link:链接
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class Link implements Serializable {
private static final long serialVersionUID = -259829372268790508L;
private Integer linkId; //ID
private String linkUrl; //地址
private String linkName; //名称
private String linkImage; //图像
private String linkDescription; //描述
private String linkOwnerNickname; //昵称
private String linkOwnerContact; //联系方式
private Date linkUpdateTime; //更新时间
private Date linkCreateTime; //创建时间
private Integer linkOrder; //优先顺序
private Integer linkStatus; //状态
}
7.Menu:菜单
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
/*
菜单
*/
@Data
public class Menu implements Serializable {
private static final long serialVersionUID = 489914127235951698L;
private Integer menuId; //ID
private String menuName; //名称
private String menuUrl; //网址链接
private Integer menuLevel; //层次
private String meanuIcon; //图像
private String meanuOrder;
}
8.Notice:公告
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/*
公告
*/
@Data
public class Notice implements Serializable {
private static final long serialVersionUID = -4901560494243593100L;
private Integer noticeId; //ID
private String noticeTitle; //标题
private String noticeContent; //内容
private Date noticeCreateTime; //创建时间
private Date noticeUpdateTime; //更新还是件
private Integer noticeStatus; //状态
private Integer noticeOrder; //优先顺序
}
9.Options:站点信息
10.Page:页面
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/*
页面
*/
@Data
public class Page implements Serializable {
private static final long serialVersionUID = 3927496662110298634L;
private Integer pageId; //页面ID
private String pageKey; //页面关键字
private String pageTitle; //页面标题
private String pageContent; //内容
private Date pageCreateTime; //创建时间
private Date pagetUpdateTime; //更新时间
private Integer pageViewCount; //查看数量
private Integer pageCommentCount; //评论数量
private Integer pageStatus; //状态
}
11.ArticleCategoryRef:文章与分类的关联
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class ArticleCategoryRef implements Serializable {
private static final long serialVersionUID = -6809206515467725995L;
private Integer articleId; //文章ID
private Integer categoryId; //分类ID
public ArticleCategoryRef(Integer articleId, Integer categoryId) {
this.articleId = articleId;
this.categoryId = categoryId;
}
public ArticleCategoryRef() {
}
}
12.ArticleTagRef:文章与标签的分类
package com.test.ssm.blog.entity;
import lombok.Data;
import java.io.Serializable;
/*
文章对标签的引用
*/
@Data
public class ArticleTagRef implements Serializable {
private static final long serialVersionUID = -5816783232020910492L;
private Integer articleId; //文章ID
private Integer tagId; //标签ID
public ArticleTagRef(){
}
public ArticleTagRef(Integer articleId, Integer tagId) {
this.articleId = articleId;
this.tagId = tagId;
}
}
二.状态信息描述
我们知道文章有发布和草稿两种状态,分类有显示和隐藏两种状态。为了更好的在页面进行显示,使用枚举类进行显示。
1.文章状态
package com.test.ssm.blog.enums;
/**
* 因为文章有发布和草稿两个状态
* 所有写了一个枚举类
*/
public enum ArticleStatus {
PUBLISH(1, "已发布"),
DRAFT(0, "草稿");
private Integer value;
private String message;
ArticleStatus(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
2.分类状态
package com.test.ssm.blog.enums;
public enum CategoryStatus {
NORMAL(1, "正常"),
HIDDEN(0, "隐藏");
private Integer value;
private String message;
CategoryStatus(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
3.评论状态
package com.test.ssm.blog.enums;
public enum ArticleCommentStatus {
ALLOW(1, "允许"),
NOT_ALLOW(0, "不允许");
private Integer value;
private String message;
ArticleCommentStatus(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
4.链接状态
package com.test.ssm.blog.enums;
public enum LinkStatus {
NORMAL(1, "显示"),
HIDDEN(0, "隐藏");
private Integer value;
private String message;
LinkStatus(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
5.菜单状态
package com.test.ssm.blog.enums;
public enum MenuLevel {
TOP_MENU(1, "顶部菜单"),
MAIN_MENU(2, "主体菜单");
private Integer value;
private String message;
MenuLevel(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
6.公告状态
package com.test.ssm.blog.enums;
public enum NoticeStatus {
NORMAL(1, "显示"),
HIDDEN(0, "隐藏");
private Integer value;
private String message;
NoticeStatus(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
7.页面状态
package com.test.ssm.blog.enums;
public enum PageStatus {
NORMAL(1, "显示"),
HIDDEN(0, "隐藏");
private Integer value;
private String message;
PageStatus(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
8.评论权限
package com.test.ssm.blog.enums;
public enum Role {
ADMIN(1, "博主"),
VISITOR(0, "访客");
private Integer value;
private String message;
Role(Integer value, String message) {
this.value = value;
this.message = message;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}