使用springboot+ajax模拟评论回复展示的功能(简易版)

使用springboot+ajax模拟评论回复展示的功能(简易版)


最近需要项目里需要完成一个评论回复的功能,在网上找了一些例子看了一下,感觉写的有点难懂(原谅我,其实我是个菜鸡),所以准备自己实现一下这个功能,能在做项目之前对这个功能的需求有一点了解,最终写出来了,但是自己感觉还是不太行,先在这里做个记录,等有想法了再完善一下(其实就是懒)。

后台

启动类,需要加个包扫描

@SpringBootApplication
@MapperScan(value = {
   "com.lyc.practice.dao"})
public class PracticeApplication {
   

	public static void main(String[] args) {
   
		SpringApplication.run(PracticeApplication.class, args);
	}

}

控制层,加了@RestController,也就是@ReponseBody+@Controller,它与@Controller最大的区别就是前者不会解析字符串,后者会解析字符串

@RestController
public class CommentController {
   
	
	@Autowired
	CommentService commentService;
	
	@PostMapping("/showComment")
	public MessageList showComment(){
   
		return commentService.showComment();
	}
	
}

dao层与xml文件

@Mapper
public interface CommentMapper {
   
	
	List<Comment> listComment();
}
@Mapper
public interface ReplayMapper {
   
	
	List<Map<String, Object>> listReplay();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.lyc.practice.dao.CommentMapper">
    
    <select id="listComment" resultType="com.lyc.practice.entity.Comment">
    	SELECT id,name,message
		FROM comment
		WHERE id not in (SELECT c.id
    					FROM replay r
    					INNER JOIN comment c ON c.id = r.comment_id)
    </select>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.lyc.practice.dao.ReplayMapper">
	
    <select id="listReplay" resultType="Map">
    	SELECT c.message as message,c.name as commentname,r.name as replayname,GROUP_CONCAT(r.replay) as replay
    	FROM replay r
    	INNER JOIN comment c ON c.id = r.comment_id
    </select>
</mapper>

实体类同数据库字段

public class Comment {
   
	private Integer id;
	private String message;
	private String name;
	省略构造器和getter,setter
}
public class CommRepl {
   
	private String message;
	private String commentname;
	private String replayname;
	private String replay;
	省略构造器和getter,setter
}
public class MessageList {
   
	List<CommRepl> replayList;
	List<Comment> commentList;
	省略构造器和getter,setter
}
public class Replay {
   
	private Integer id;
	private String replay;
	private Integer commentId;
	private String name;
	省略构造器和getter,setter
}

业务逻辑层

public interface CommentService {
   

	MessageList showComment();
	
}
@Service
public class CommentServiceImpl implements CommentService{
   
	@Autowired
	CommentMapper commentMapper;
	
	@Autowired
	ReplayMapper replayMapper;

	@Override
	public MessageList showComment() {
   
		List<Map
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值