日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

博客系统评论模块列表转树形结构

發布時間:2024/9/27 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 博客系统评论模块列表转树形结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 簡單介紹
  • 一、打印效果
  • 二、數據庫表結構
  • 三 實體
  • 四、代碼實現
    • 2.1 獲取樹形結構
    • 2.2 添加子節點【回復評論】

簡單介紹

一、打印效果

{"msg": "success","code": 200,"data": [{"createTime": "2021-08-17 08:46:13","updateTime": "2021-08-17 08:46:15","id": 1,"pid": 0,"uid": 1,"aid": 1,"content": "文章非常好,學到了很多,關注你了","support": 0,"isDelete": 0,"child": [{"createTime": "2021-08-19 11:59:08","updateTime": "2021-08-19 11:59:12","id": 3,"pid": 1,"uid": 3,"aid": 1,"content": "我也關注他了,兄弟","support": 0,"isDelete": 0,"child": [{"createTime": "2021-08-19 12:06:24","updateTime": "2021-08-19 12:06:25","id": 4,"pid": 3,"uid": 4,"aid": 1,"content": "你關注他干嘛","support": 0,"isDelete": 0,"child": null}]}]},{"createTime": "2021-08-19 11:58:10","updateTime": "2021-08-19 11:58:11","id": 2,"pid": 0,"uid": 2,"aid": 1,"content": "博主關注一下我,我關注博主了","support": 25,"isDelete": 0,"child": null}] }

二、數據庫表結構

DROP TABLE IF EXISTS `comment`;CREATE TABLE `comment` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',`pid` int(11) NOT NULL DEFAULT '0' COMMENT '父級評論ID',`uid` int(11) NOT NULL COMMENT '評論者ID',`aid` int(20) NOT NULL COMMENT '被評論的文章ID',`content` text NOT NULL COMMENT '評論的內容',`support` int(20) NOT NULL DEFAULT '0' COMMENT '點贊數',`is_delete` int(4) NOT NULL DEFAULT '0' COMMENT '是否刪除:1刪除 0未刪除',`create_time` datetime NOT NULL COMMENT '創建時間',`update_time` datetime NOT NULL COMMENT '更新時間',PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

三 實體

@Data @TableName("comment") public class Comment extends BaseEntity {private static final Long serialVersionUID = 1L;/*** 主鍵*/@TableId(type = IdType.AUTO)private Integer id;/*** 父級評論ID*/private Integer pid;/*** 評論者ID*/private Integer uid;/*** 被評論的文章ID*/private Integer aid;/*** 評論的內容*/private String content;/*** 點贊數*/private Integer support;/*** 是否刪除:1刪除 0未刪除*/private Integer isDelete;/*** 子評論*/@TableField(exist = false)private List<Comment> child; }

四、代碼實現

2.1 獲取樹形結構

/*** 獲取樹形結構* @param list 需要轉換的列表* @return*/private List<Comment> getTree(List<Comment> list) {List<Comment> treeList = new ArrayList<>();for (Comment comment : list) {if (comment.getPid().equals(0)) {treeList.add(getChild(comment, list));}}return treeList;}

2.2 添加子節點【回復評論】

/*** 獲取孩子節點* @param comment 評論當前節點* @param list 列表* @return*/private Comment getChild(Comment comment, List<Comment> list) {for (Comment c : list) {if (comment.getId().equals(c.getPid())) {if (comment.getChild() == null) {comment.setChild(new ArrayList<Comment>());}comment.getChild().add(getChild(c, list));}}return comment;}

總結

以上是生活随笔為你收集整理的博客系统评论模块列表转树形结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。