diff --git a/pom.xml b/pom.xml
index 2587f61..751755b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,6 +19,13 @@
spring-boot-starter
+
+
+ org.mybatis
+ mybatis
+ 3.5.10
+
+
org.springframework.boot
spring-boot-starter-web
@@ -123,8 +130,8 @@
maven-compiler-plugin
3.8.1
- 1.8
- 1.8
+ 9
+ 9
UTF-8
diff --git a/src/main/java/com/bao/dating/common/Comments.java b/src/main/java/com/bao/dating/common/Comments.java
new file mode 100644
index 0000000..45e30b4
--- /dev/null
+++ b/src/main/java/com/bao/dating/common/Comments.java
@@ -0,0 +1,19 @@
+package com.bao.dating.common;
+
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+
+/**
+ * 评论表
+ */
+@Data
+public class Comments {
+ private Long comment_id; // 评论ID
+ private String content; // 评论内容
+ private Long user_id; // 评论人ID
+ private Long post_id; // 关联动态ID
+ private LocalDateTime created_at; // 评论时间
+}
diff --git a/src/main/java/com/bao/dating/common/Post.java b/src/main/java/com/bao/dating/common/Post.java
new file mode 100644
index 0000000..10293a3
--- /dev/null
+++ b/src/main/java/com/bao/dating/common/Post.java
@@ -0,0 +1,16 @@
+package com.bao.dating.common;
+
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+/**
+ * 动态表
+ */
+@Data
+public class Post {
+ private Long post_id; // 动态ID
+ private String content; // 动态内容
+ private Long user_id; // 发布人ID
+ private LocalDateTime created_at; // 创建时间
+}
diff --git a/src/main/java/com/bao/dating/controller/CommentController.java b/src/main/java/com/bao/dating/controller/CommentController.java
new file mode 100644
index 0000000..d377897
--- /dev/null
+++ b/src/main/java/com/bao/dating/controller/CommentController.java
@@ -0,0 +1,48 @@
+package com.bao.dating.controller;
+
+
+import com.bao.dating.common.Comments;
+import com.bao.dating.service.CommentsService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/comments")
+@CrossOrigin // 解决跨域问题(前后端分离必加)
+public class CommentController {
+ @Resource
+ private CommentsService commentsService;
+
+ /**
+ * 添加评论
+ * @param comment 评论对象(含content、userId、dynamicId)
+ */
+ @PostMapping("/add")
+ public Map addComment(@RequestBody Comments comment) {
+ boolean success = commentsService.addComment(comment);
+ return success ? Map.of("code", 200, "msg", "评论成功") : Map.of("code", 500, "msg", "评论失败");
+ }
+
+ /**
+ * 删除评论
+ * @param user_id 评论ID
+ */
+ @DeleteMapping("/delete/{user_id}")
+ public Map deleteComment(@PathVariable Long user_id) {
+ boolean success = commentsService.deleteComment(user_id);
+ return success ? Map.of("code", 200, "msg", "删除成功") : Map.of("code", 500, "msg", "删除失败");
+ }
+
+ /**
+ * 根据动态ID查询评论列表
+ * @param post_id 动态ID
+ */
+ @GetMapping("/list/{post_id}")
+ public Map getCommentList(@PathVariable Long post_id) {
+ List commentList = commentsService.getCommentByPostId(post_id);
+ return Map.of("code", 200, "data", commentList);
+ }
+}
diff --git a/src/main/java/com/bao/dating/mapper/CommentsMapper.java b/src/main/java/com/bao/dating/mapper/CommentsMapper.java
new file mode 100644
index 0000000..26acdb3
--- /dev/null
+++ b/src/main/java/com/bao/dating/mapper/CommentsMapper.java
@@ -0,0 +1,22 @@
+package com.bao.dating.mapper;
+
+
+import com.bao.dating.common.Comments;
+import com.bao.dating.common.Post;
+import org.apache.ibatis.annotations.*;
+
+import java.util.List;
+
+public interface CommentsMapper {
+ // 添加评论
+ @Insert("INSERT INTO comments(content, user_id, post_id, created_at) VALUES(#{content}, #{user_id}, #{post_id}, #{created_at})")
+ int addComment(Comments comments);
+
+ // 删除评论
+ @Delete("DELETE FROM comments WHERE user_id = #{user_id}")
+ int deleteComments(@Param("user_id") Long user_id);
+
+ // 根据动态ID查询评论列表
+ @Select("SELECT * FROM comments WHERE post_id = #{post_id} ORDER BY created_at DESC")
+ List getCommentsByPostId(@Param("post_id") Long post_id);
+}
diff --git a/src/main/java/com/bao/dating/service/CommentsService.java b/src/main/java/com/bao/dating/service/CommentsService.java
new file mode 100644
index 0000000..202a362
--- /dev/null
+++ b/src/main/java/com/bao/dating/service/CommentsService.java
@@ -0,0 +1,20 @@
+package com.bao.dating.service;
+
+
+import com.bao.dating.common.Comments;
+
+import java.util.List;
+
+public interface CommentsService{
+ // 添加评论
+ boolean addComment(Comments comments);
+
+ // 删除评论
+ boolean deleteComment(Long user_id);
+
+ // 根据动态ID查询评论
+ List getCommentByPostId(Long post_id);
+
+
+
+}
diff --git a/src/main/java/com/bao/dating/service/impl/CommentsServiceImpl.java b/src/main/java/com/bao/dating/service/impl/CommentsServiceImpl.java
new file mode 100644
index 0000000..f7248da
--- /dev/null
+++ b/src/main/java/com/bao/dating/service/impl/CommentsServiceImpl.java
@@ -0,0 +1,39 @@
+package com.bao.dating.service.impl;
+
+import com.bao.dating.common.Comments;
+
+import com.bao.dating.mapper.CommentsMapper;
+
+
+import com.bao.dating.service.CommentsService;
+import org.springframework.stereotype.Service;
+
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class CommentsServiceImpl implements CommentsService {
+
+
+
+ @Resource
+ private CommentsMapper commentsMapper;
+
+ @Override
+ public boolean addComment(Comments comments) {
+ // 设置创建时间
+ comments.setCreated_at(LocalDateTime.now());
+ return commentsMapper.addComment(comments) > 0;
+ }
+ @Override
+ public boolean deleteComment(Long user_id) {
+ return commentsMapper.deleteComments(user_id) > 0;
+ }
+
+ @Override
+ public List getCommentByPostId(Long post_id) {
+ return commentsMapper.getCommentsByPostId(post_id);
+ }
+}