实现原理
1、功能描述:一个用户对同一文章只能点赞一次,第二次就是取消赞
2、建立一个点赞表great,字段有文章id(aid),点赞用户id(uid)
3、当有用户进行点赞行为时,使用aid和uid搜索点赞表。
若有该记录,则表示用户已经点过赞,本次点击是取消点赞行为,故删除great表中的该条记录,同时将该文章的点赞数减1。
若无该记录,则表示用户是要点赞,故在great表中添加该记录,同时该文章的点赞数加1。
核心代码分析
核心控制器basecontroller:
@controller
public class basecontroller {
private final greatrepository greatrepository;
private final articlerepository articlerepository;
//spring团队推荐的做法是用构造器来引入依赖,而不是直接使用@autowired引入
@autowired
public basecontroller(greatrepository greatrepository,
articlerepository articlerepository) {
this.greatrepository = greatrepository;
this.articlerepository=articlerepository;
}
@requestmapping({"/","/index