用户收藏实现功能理解
会员进入新闻页面,查看新闻,觉得好看,想要收藏:
- 打开页面显示:
-
判断是否已经收藏 (通过会员id,新闻id 查一下该会员在数据库中已经收藏的新闻)
-
判断会员是否已经登录,已经登录了
-
收藏了,收藏按钮变红
-
没收藏,收藏按钮不变
- 执行收藏/取消收藏操作:
- 点击收藏,收藏成功
- 点击取消收藏,取消收藏成功
-
-
会员没有登录
-
点击登录,跳转到登录页面登录
-
登录成功后,跳转到新闻页面,点击收藏,收藏新闻
-
-
1.页面显示是否收藏:
后端:
判断会员有没有收藏新闻 传过来新闻id,会员id,从news_member关联表中查询,返回一个结果
0-没有收藏
1-收藏了
2.执行收藏/取消收藏操作时,判断是否收藏,
后端:
业务逻辑在service层处理:
1、判断会员有没有收藏新闻 从前端传过来issc,判断issc为0或为1
2、收藏了,可以执行取消收藏操作
没收藏,可以执行收藏操作
/*
什么时候mybatis 使用@param?
1方法.有两个参数
where s_name= #{aaaa} and class_id = #{bbbb} 表示sql语句要接受2个参数,一个参数名是aaaa,一个参数名是bbbb,如果要正确的传入参数,那么就要给参数命名,因为不用xml配置文件,那么我们就要用别的方式来给参数命名,这个方式就是@Param注解
2.方法参数名不同于sql语句里的参数名
在方法参数的前面写上@Param("参数名"),表示给参数命名,名称就是括号中的内容
public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);
给入参 String name 命名为aaaa,然后sql语句....where s_name= #{aaaa} 中就可以根据aaaa得到参数值了
*/
/*传过来两个参数,用@Param("")标签绑定*/
void saveMemberNews(@Param("newsid") Integer newsid, @Param("id") Integer memberid);
void deleteMemberNews(@Param("newsid") Integer newsid, @Param("id") Integer memberid);