最近闲来无事,在做毕业设计。前台页面需要一个评论功能,感觉三方的评论太复杂,功能也太多。就想着自己写一个简单点的,本人比较菜,方法比较笨,可能效率不高。
后端:SpringBoot + Mybatis
前端:Vue + Element Plus

这里展示的是需要登录才能使用评论(依赖用户表),如果不需要登录,可删除<code>comment_user_id</code>,添加邮箱和昵称字段:<code>email</code>,<code>nickname</code>
1、评论表字段说明
字段名
类型
说明
id
bigint
主键
article_id
评论所在文章ID
parent_comment_id
父评论id,null表示一级评论
comment_user_id
评论发布用户ID
content
longtext
评论内容
create_time
datetime
创建时间
只展示最基本的字段,需要字段自行添加,例如:<code>version</code>、<code>deleted</code>
2、评论表建表语句
3、其他表就不展示了,下面有源码案例
<code>commentUser</code>:评论用户,一对一映射
<code>parentComment</code>:父评论,一对一映射,这里你也可以直接用parentCommentId
<code>replayComments</code>:子评论,一对多映射
mapper文件
我们来看看,<code>SQL</code>语句怎么写,还是比较复杂的,因为考虑到映射,关联的表比较多
这里使用了很多<code>LEFT JOIN</code>,可以替换成同意思的<code>WHERE</code>
mapper类
<code>CommentService</code>
<code>CommentServiceImpl</code>
我们可以看到,数据是嵌套的,这种套娃格式也是一种方案
将套娃评论改为二级,只需要在逻辑部分将二级评论的子评论(三级)等等(四级,五级...),全部改为二级评论
<code>commentNum</code> 记录了评论数量,有需要的可以返回给前端
<code>Controller</code>调用<code>listComment</code>方法
可以看到<code>id</code>为的 3 的评论已经成为二级评论了
码云地址
先到这。。。
本文来自博客园,作者:sw-code,转载请注明原文链接:https://www.cnblogs.com/sw-code/p/15358093.html