spring boot新闻管理项目——评论功能和按标签、类型显示新闻

本次实现了新闻页面的评论功能,能够对新闻进行评论和评论互动。同时也实现了点击新闻列表首页的分类和标签,可按分类和标签显示新闻的功能。

本次设计的难点主要集中在评论的展示功能,需将所有子评论展示到一个最初的父评论下,实现利用了递归思想。本次以评论功能的实现为例。

  1. 设计po.Comment类,并在po.News类中添加相应的Comment类,并更新SetterGettertoString方法

    @Entity
    @Table(name = "t_comment")
    public class Comment {
         
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        private String nickname;
        private String email;
        private String content;
        private String avatar;
        @Temporal(TemporalType.TIMESTAMP)
        private Date createTime;
        @ManyToOne
        private News news;
        @OneToMany(mappedBy = "parentComment")
        private List<Comment> replyComments = new ArrayList<>();
        @ManyToOne
        private Comment parentComment;
        private boolean adminComment;
    
        public Comment() {
         
        }
    }
    

    添加List<Comment>数据

    @OneToMany(mappedBy = "news")
    private List<Comment> commentList = new ArrayList<>();
    
  2. 创建dao/CommentRepository.java类,进行数据库操作

    public interface CommentRepository extends JpaRepository<Comment, Long> {
         
    
        List<Comment> findByNewsIdAndParentCommentNull(Long newsId, Sort sort);
    }
    
  3. 创建service.impl.CommentServiceImpl.java类,提供保存评论和展示评论列表的任务

    @Service
    public class CommentServiceImpl implements CommentService {
         
    
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值