问题:在做文章评论回复模块时,需要将文章下的所有评论以及评论下的回复数据都查出来,把对应的回复数据都显示在对应的评论下方,然后对评论数据进行分页。
思路:
1.根据文章id去评论表中查询该文章下的所有评论,然后再根据每个评论id去回复表中查询该评论下的所有回复内容,查询的数据均按照更新时间进行排序。
2.用list去封装评论信息,然后循环遍历集合,在用list封装该改评论下所有回复数据,最后在将回复list封装到评论list中,这样我就得到了包含所有回复数据的评论集合。
3.最后一步就是编写分页类,调用即可。
话不多说,上代码:
数据库信息:
评论表:
回复表:
实体类:
@Data
public class KbmsCommentAndReplyuserVo implements Serializable {
/**
* 评论表id
*/
@TableId
private Integer commentId;
/**
* 用户(评论者)id
*/
private Integer userId;
/**
* 文章(资源)id
*/
private Integer issueId;
/**
* 用户名字
*/
private String username;
/**
* 用户头像
*/
private String avatar;
/**
* 评论内容
*/
private String content;
/**
* 标识字段, 0 文章 1 资源
*/
private Byte label;
/**
* 评论是否回复
*/
private String commentisreply;
/**
* 回复集合
*/
private List<KbmsReplyuser> kbmsReplyusers;
/**
* 记录创建时间
* */
private Date createtime;
private Date updatetime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
mapper:
@Repository
public interface CommentAndReplyuserMapper extends BaseMapper<KbmsCommentAndReplyuserVo