玩命加载中 . . .

springboot博客(六)(后端之友链/相册)


springboot博客(六)(后端之友链/相册)

友情链接

效果图

功能分析

  1. 对友链的增加、删除、修改、查找
  2. 修改时回显数据
  3. 添加时判断是否相同

步骤

后端

  1. 编写实体类,生成数据库

    @Id
    @GeneratedValue
    private Long id;
    private String blogaddress;
    private String blogname;
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime;//创建时间
    private String pictureaddress;
    
  2. 搭建友链添加、友链显示页面

  3. 编写service

    1. 查找所有
    2. 通过id查找一个
    3. 分页查找
    4. 保存
    5. 修改
    6. 删除
    @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);
    }
    
  4. 编写repository

  5. 编写controller

    1. friend
      1. 跳转到友链管理页面
      2. 分页查询保存到model中
    2. input
      1. 跳转到友链新增页面
      2. new一个新对象,为了回显不报错
    3. post
      1. 友链新增
      2. 向RedirectAttributes中增加提示消息
      3. 重定向到friend的请求中
    4. editInput
      1. 跳转到友链修改页面
      2. 向model中存储friendLink对象
    5. editPost
      1. 友链修改
      2. 向RedirectAttributes中增加提示消息
      3. 重定向到friend的请求中
    6. delete
      1. 友链删除
      2. 向RedirectAttributes中增加提示消息
      3. 重定向到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";
    }
    

前端渲染

  1. friendlinks.html友链管理页面

    1. 友链信息(循环)
      1. 编号
      2. 博客名
      3. 博客地址
      4. 图片地址
      5. 日期
    2. 上下一页
    3. 编辑、删除地址
    4. 新增地址

    ```html

    1 ONESTAR https://onestar.newstar.net.cn/ https://onestar.newstar.net.cn/

文章作者: 小苏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小苏 !
评论
  目录