inblog logo
|
{CODE-RYU};
    SPIRNG

    [홈페이지 제작] 게시판 만들기 8 - 게시글 수정

    Feb 08, 2024
    [홈페이지 제작] 게시판 만들기  8 - 게시글 수정
    Contents
    1. DTO 만들기2. update 메서드 만들기3. update 쿼리 만들기
     

    1. DTO 만들기

     
    @Data public static class updateDTO{ private String title ; private String content ; }
     
    클라이언트로부터 받을 새로운 게시글 데이터를 받는다.
     

    2. update 메서드 만들기

     
    board/BoardController
    @PostMapping("/board/{id}/update") public String update(@PathVariable int id,BoardRequest.updateDTO requestDTO,HttpServletRequest request){ //1. 인증체크 User sessionUser = (User) session.getAttribute("sessionUser"); if(sessionUser==null){ return "redirect:/loginForm"; } //DB 조회 Board board = boardRepository.findByIdCheck(id); //2. 권한 체크 if(board.getUserId()!=sessionUser.getId()){ request.setAttribute("status",403); request.setAttribute("msg","게시글을 수정할 권한이 없습니다."); return "error/40x"; } //3. 핵심 로직 boardRepository.update(requestDTO,id); return "redirect:/board/"+id; }
     
    컨트롤러를 통해 레파지토리에 접근한다.
     

    3. update 쿼리 만들기

     
    board/BoardRepository
    @Transactional public void update(BoardRequest.updateDTO requestDTO, int id) { Query query = em.createNativeQuery("update board_tb set title = ? , content = ? where id = ?"); query.setParameter(1,requestDTO.getTitle()); query.setParameter(2,requestDTO.getContent()); query.setParameter(3,id); query.executeUpdate(); }
     
     
    notion image
     
    notion image
     
    게시글이 정상적으로 수정된다.
    Share article

    {CODE-RYU};

    RSS·Powered by Inblog