使用Java Spring Boot实现商品点赞功能,带收藏列表展示
"使用Java Spring Boot实现商品点赞功能,带收藏列表展示"\n\n本文将带你一步步实现商品点赞功能,并展示用户的收藏列表。\n\n需求:\n\n* 点击按钮后,图标变成,并执行用户收藏操作,把数据加进MySQL数据库里。\n* 再次点击按钮,可以取消收藏,并把数据从数据库删除。\n* 页面上有一个HTML表格用于展示“我的收藏”。\n\n技术栈:\n\n* Java Spring Boot\n* MySQL\n* HTML、JavaScript\n* Font Awesome\n\n代码实现:\n\n1. 前端HTML:\n\nhtml\n<button onclick="goods_like(this)">\n <i class="far fa-heart"></i>\n</button>\n\n\n2. 前端JavaScript:\n\njavascript\nfunction goods_like(button) {\n var likeIconElement = button.querySelector('i');\n\n if (likeIconElement.classList.contains('far')) {\n likeIconElement.classList.remove('far');\n likeIconElement.classList.add('fas');\n } else {\n likeIconElement.classList.remove('fas');\n likeIconElement.classList.add('far');\n }\n}\n\n\n3. 后端Java代码:\n\n3.1 LikesService接口:\n\njava\npublic interface LikesService {\n public void insertLike(int goods_Id, int member_Id);\n\n public void deleteLike(int goods_Id, int member_Id);\n}\n\n\n3.2 LikesController类:\n\njava\n@RestController\n@RequestMapping("/likes")\npublic class LikesController {\n\n @Autowired\n private LikesService likesService;\n\n @PostMapping("/insert")\n public void insertLike(@RequestParam("goodsId") int goodsId, @RequestParam("memberId") int memberId) {\n likesService.insertLike(goodsId, memberId);\n }\n\n @PostMapping("/delete")\n public void deleteLike(@RequestParam("goodsId") int goodsId, @RequestParam("memberId") int memberId) {\n likesService.deleteLike(goodsId, memberId);\n }\n}\n\n\n3.3 LikesServiceImpl类:\n\njava\n@Service\npublic class LikesServiceImpl implements LikesService {\n\n @Autowired\n private LikesMapper likesMapper;\n\n @Override\n public void insertLike(int goodsId, int memberId) {\n likesMapper.insertLike(goodsId, memberId);\n }\n\n @Override\n public void deleteLike(int goodsId, int memberId) {\n likesMapper.deleteLike(goodsId, memberId);\n }\n}\n\n\n3.4 LikesMapper类:\n\njava\n@Mapper\npublic interface LikesMapper {\n\n @Insert("INSERT INTO likes (goods_id, member_id) VALUES (#{goodsId}, #{memberId})")\n void insertLike(int goodsId, int memberId);\n\n @Delete("DELETE FROM likes WHERE goods_id = #{goodsId} AND member_id = #{memberId}")\n void deleteLike(int goodsId, int memberId);\n}\n\n\n4. 数据库表:\n\n创建名为“likes”的数据库表,包含以下字段:\n\n* goods_id: 商品ID\n* member_id: 用户ID\n\n5. 实现逻辑:\n\n* 前端通过AJAX调用LikesController的接口,传入商品ID和用户ID。\n* LikesController调用LikesService的方法,执行数据库操作。\n* LikesService调用LikesMapper的方法,执行SQL语句。\n* 前端根据返回结果,更新图标状态,并展示收藏列表。\n\n注意:\n\n* 代码示例中,省略了数据库连接和AJAX请求的代码,需要根据实际情况进行完善。\n* 该示例只展示了基本的点赞功能实现,实际应用中可能需要进行更多的逻辑处理。\n* 可以根据需求添加其他功能,例如,统计商品点赞数量、用户收藏数量等。\n\n代码示例:\n\n前端:\n\nhtml\n<div id="likeButton" onclick="toggleLike()">\n <i class="far fa-heart"></i>\n</div>\n\n\njavascript\nfunction toggleLike() {\n var goodsId = 123; // 获取商品ID\n var memberId = 456; // 获取用户ID\n var icon = document.querySelector("#likeButton i");\n\n $.ajax({\n url: "/likes/insert",\n type: "POST",\n data: {goodsId: goodsId, memberId: memberId},\n success: function() {\n icon.classList.remove('far');\n icon.classList.add('fas');\n },\n error: function() {\n alert("操作失败");\n }\n });\n}\n\n\n后端:\n\njava\n@RestController\n@RequestMapping("/likes")\npublic class LikesController {\n\n @Autowired\n private LikesService likesService;\n\n @PostMapping("/insert")\n public void insertLike(@RequestParam("goodsId") int goodsId, @RequestParam("memberId") int memberId) {\n likesService.insertLike(goodsId, memberId);\n }\n\n @PostMapping("/delete")\n public void deleteLike(@RequestParam("goodsId") int goodsId, @RequestParam("memberId") int memberId) {\n likesService.deleteLike(goodsId, memberId);\n }\n}\n\n\n数据库:\n\nsql\nCREATE TABLE likes (\n goods_id INT NOT NULL,\n member_id INT NOT NULL,\n PRIMARY KEY (goods_id, member_id)\n);\n\n\n总结:\n\n本文介绍了使用Java Spring Boot框架实现商品点赞功能的完整流程,并提供了代码示例。希望对您有所帮助。\n
原文地址: https://www.cveoy.top/t/topic/p46R 著作权归作者所有。请勿转载和采集!