springboot博客(六)(后端之友链/相册)
友情链接
效果图
功能分析
- 对友链的增加、删除、修改、查找
- 修改时回显数据
- 添加时判断是否相同
步骤
后端
编写实体类,生成数据库
@Id @GeneratedValue private Long id; private String blogaddress; private String blogname; @Temporal(TemporalType.TIMESTAMP) private Date createTime;//创建时间 private String pictureaddress;
搭建友链添加、友链显示页面
编写service
- 查找所有
- 通过id查找一个
- 分页查找
- 保存
- 修改
- 删除
@Override public List<FriendLink> listFriendLinks() { return friendLinkRepository.findAll(); } @Override public FriendLink saveFriendLink(FriendLink friendLink) { return friendLinkRepository.save(friendLink); } @Override public FriendLink getFriendLink(Long id) { return friendLinkRepository.findOne(id); } @Override public Page<FriendLink> listFriendLink(Pageable pageable) { return friendLinkRepository.findAll(pageable); } @Override public FriendLink updateFriendLink(Long id, FriendLink friendLink) { FriendLink f = friendLinkRepository.findOne(id); if (f == null){ throw new NotFindException("友链不存在!"); } BeanUtils.copyProperties(friendLink,f); return f; } @Override public void deleteFriendLink(Long id) { friendLinkRepository.delete(id); }
编写repository
编写controller
- friend
- 跳转到友链管理页面
- 分页查询保存到model中
- input
- 跳转到友链新增页面
- new一个新对象,为了回显不报错
- post
- 友链新增
- 向RedirectAttributes中增加提示消息
- 重定向到friend的请求中
- editInput
- 跳转到友链修改页面
- 向model中存储friendLink对象
- editPost
- 友链修改
- 向RedirectAttributes中增加提示消息
- 重定向到friend的请求中
- delete
- 友链删除
- 向RedirectAttributes中增加提示消息
- 重定向到friend的请求中
//跳转到友链管理页面 @GetMapping("/friendlinks") public String friend(@PageableDefault(size = 3,sort = {"id"},direction = Sort.Direction.DESC) Pageable pageable, Model model){ model.addAttribute("page",friendLinkService.listFriendLink(pageable)); return "admin/friendlinks"; } //跳转到友链新增页面 @GetMapping("/friendlinks/input") public String input(Model model){ model.addAttribute("friendlink",new FriendLink()); return "admin/friendlinks-input"; } //跳转到编辑页面 @GetMapping("/friendlinks/{id}/input") public String edit(@PathVariable("id") Long id,Model model){ model.addAttribute("friendlink",friendLinkService.getFriendLink(id)); return "admin/friendlinks-input"; } //友链新增操作 @PostMapping("/friendlinks") public String post(FriendLink friendLink,RedirectAttributes attributes){ friendLink.setCreateTime(new Date()); FriendLink F = friendLinkService.saveFriendLink(friendLink); if (F == null ) { attributes.addFlashAttribute("message", "新增失败"); } else { attributes.addFlashAttribute("message", "新增成功"); } return "redirect:/admin/friendlinks"; } //编辑操作 @PostMapping("/friendlinks/{id}") public String post(FriendLink friendLink,@PathVariable("id")Long id, RedirectAttributes attributes){ friendLink.setCreateTime(new Date()); FriendLink F = friendLinkService.updateFriendLink(id,friendLink); if (F == null ) { attributes.addFlashAttribute("message", "更新失败"); } else { attributes.addFlashAttribute("message", "更新成功"); } return "redirect:/admin/friendlinks"; } //删除操作 @GetMapping("/friendlinks/{id}/delete") public String delete(@PathVariable("id") Long id,RedirectAttributes attributes){ friendLinkService.deleteFriendLink(id); attributes.addFlashAttribute("message","删除成功"); return "redirect:/admin/friendlinks"; }
- friend
前端渲染
friendlinks.html友链管理页面
- 友链信息(循环)
- 编号
- 博客名
- 博客地址
- 图片地址
- 日期
- 上下一页
- 编辑、删除地址
- 新增地址
```html
1 ONESTAR https://onestar.newstar.net.cn/ https://onestar.newstar.net.cn/- 友链信息(循环)