JavaWeb 实现点赞功能
今天写了一个点赞功能
主要内容是实现一个用户对同一文章只能点赞一次,第二次就是取消赞
思路:
1.首先通过aid和uid遍历点赞表great。
2.若不能够查找到符合的great,则文章的great值+1;若能够查找到符合的great,则文章的great值-1。
3.然后更新数据库中这条数据
Dao层主要代码如下
//点赞
public Great findGreat(Integer aid, Integer uid) {
String hql="from Great where aid=? and uid=?";
List<Great> list=this.getHibernateTemplate().find(hql,aid,uid);
if(list!=null&&list.size()>0){
this.getHibernateTemplate().delete(list.get(0));
Answer answer=this.getHibernateTemplate().get(Answer.class, aid);
answer.setAgreat(answer.getAgreat()-1);
this.getHibernateTemplate().update(answer);
return null;
}
else{
Great great=new Great();
Answer answers=this.getHibernateTemplate().get(Answer.class, aid);
System.out.print(answers);
great.setAnswer(answers);
User user=this.getHibernateTemplate().get(User.class, uid);
great.setUser(user);
this.getHibernateTemplate().save(great);
answers.setAgreat(answers.getAgreat()+1);
this.getHibernateTemplate().update(answers);
return null;
}
}