inblog logo
|
{CODE-RYU};
    SPIRNG

    [홈페이지 제작] 익명 페이지 4 - 익명 글 수정하기

    Feb 14, 2024
    [홈페이지 제작] 익명 페이지 4 - 익명 글 수정하기
    Contents
    1. View2. 컨트롤러3. 레파지토리4. 데이터 수정
     
     
     

    1. View

     
    notion image
     
    익명글 수정하기는 기존 게시글 작성과 동일하다. 회원으로 부터 데이터를 받을 DTO를 만들자.
     
     
    board/BoardRequest
    @Data public static class saveAgainDTO{ private String author ; private String title ; private String content ; }
     
    게시글 작성 때 만든 saveDTO와 동일하지만 일관성을 유지하기 위해 saveAgainDTO 를 새로 만든다.
     

    2. 컨트롤러

     
    @PostMapping("/board/{id}/update") public String update(@PathVariable int id,BoardRequest.saveAgainDTO requestDTO,HttpServletRequest request){ if(requestDTO.getTitle().length()>20){ request.setAttribute("status",400); request.setAttribute("msg","제목은 20자를 넘을 수 없습니다."); return "error/40x"; } if(requestDTO.getContent().length()>20){ request.setAttribute("status",400); request.setAttribute("msg","내용은 20자를 넘을 수 없습니다."); return "error/40x"; } boardRepository.update(requestDTO,id); return "redirect:/"; }
     
    전달받은 DTO를 레파지토리에 전달한다.
     

    3. 레파지토리

     
    @Transactional public void update(BoardRequest.saveAgainDTO requestDTO,int id) { Query query = em.createNativeQuery("update board_tb set author =?, title = ?, content = ? where id = ? "); query.setParameter(1,requestDTO.getAuthor()); query.setParameter(2,requestDTO.getTitle()); query.setParameter(3,requestDTO.getContent()); query.setParameter(4,id); query.executeUpdate(); }
     
    save 메서드와 동일하지만 게시판 번호를 확인해야 하기 때문에 id 를 조회한다.
     

    4. 데이터 수정

     
    notion image
    notion image
     
    notion image
     
    데이터 수정이 완료됐다.
     
    Share article

    {CODE-RYU};

    RSS·Powered by Inblog