写在最前面
作为计算机专业的大一学生,暑假和小伙伴们一起做一个音乐论坛,其中有一个功能是用户查看文章详情,需要展示文章内容、评论(评论能够被评论)、点赞数、评论数等信息。这就需要后端从数据库中拿取上述信息,并有json数据格式传到前端,再让前端解析json,最终展示到页面。
第一次写小项目(里面可能会有许多在大牛们看来很可笑的地方,希望大牛们可以指出来),有很多地方都没考虑性能问题,只是单纯的实现功能而已;目前论坛系统还未完成,写这篇文章一是为了记录一下自己是如何实现一些功能的;二来是为了听取大家的想法,改进自己的实现一些功能的方法细节,从而提升自己的能力。
准备工作
为了能让大家看懂标题所说的功能实现过程,我可能需要花一些时间展示一下别的东西:
数据库
user表:
字段 | 类型 | 备注 |
---|---|---|
userid | varchar | 用户ID,用用户的注册时的邮箱作为userid,主键 |
username | varchar | 用户昵称 |
password | varchar | 用户密码 |
imageid | int | 用户头像id,通过uuid生成一个唯一的id |
fans | int | 粉丝数,或者说是被关注数 |
description | text | 个人简介(或者叫个性签名) |
sex | varchar | 性别 |
text表(文章表)
字段 | 类型 | 备注 |
---|---|---|
userid | varchar | 用户ID,用用户的注册时的邮箱作为userid,主键 |
textid | int | 文章id,自增长 |
time | varchar | 文章创建时间 |
likes | int | 文章被点赞的次数 |
comment | int | 文章被评论的次数 |
collection | int | 文章被收藏的次数 |
text | mediumtext | 文章内容(存储的是html格式的数据) |
title | text | 文章标题 |
type | text | 文章类型 |
text表不仅存储文章,还存储评论。我将评论也看成文章存储在text表中,让它生成唯一的textid。
comment表(评论表)
字段 | 类型 | 备注 |
---|---|---|
textid | int | 被评论文章id |
commentid | int | 评论文章id |
一会需要用到数据库信息也就这么多
对数据库的操作我使用的是Spring Jdbc Template
实体类
public class Text extends text1 {
private String userid;
private Integer textid = null;
private String time;
private int likes;
private int comment;
private int collection;
private String text;
private String title;
private String type;
@Override
public String getUserid() {
return userid;
}
@Override
public void setUserid(String userid) {
this.userid = userid;
}
@Override
public Integer getTextid() {
return textid;
}
@Override
public void setTextid(Integer textid) {
this.textid = textid;
}
@Override
public String getTime() {
return time;
}
@Override
public void setTime(String time) {
this.time = time;
}
@Override
public int getLikes() {
return likes;
}
@Override
public void setLikes(int likes) {
this.likes = likes;
}
@Override
public int getComment() {
return comment;
}
@Override
public void setComment(int comment) {
this.comment = comment;
}
@Override
public int getCollection() {
return collection;
}
@Override
public void setCollection(int collection) {
this.collection = collection;
}
@Override
public String getText() {
return text;
}
@Override
public void setText(String text) {
this.text = text;
}
@Override
public String getTitle() {
return title;
}
@Override
public void setTitle(String title) {
this.title = title;
}
@Override
public String getType() {
return type;
}
@Override