一.創建實體類
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;
}
}