CRUD - UPDATE

혜준·2024년 5월 22일
post-thumbnail
  1. 수정페이지를 만들어서 기존 데이터 불러오기
  2. 데이터를 수정해 DB에 반영한 후 결과를 볼 수 있도록 리다이렉트

기존 데이터를 불러오는법?
1) 수정 요청을 받은 컨트롤러는 해당 글의 id로 db에서 데이터를 가져옴
2) 컨트롤러는 데이터를 뷰에서 사용할 수 있도록 모델에 등록
3) 모델에 등록한 데이터를 수정페이지에서 보여줌

리다이렉트하는법?
1) 수정 요청 데이터를 dto에 담아 컨트롤러에서 받음
2) dto를 엔티티로 변환
3) db에서 갱신
4) 리다이렉트

<@GetMapping("/articles/{id}/edit")
    public String edit(@PathVariable Long id, Model model) {
        Article articleEntity = articleRepository.findById(id).orElse(null);  //db에서 수정할 데이터 가져오기
        model.addAttribute("article", articleEntity);
        return "articles/edit";
    }

cf) 뷰 페이지에서 변수를 사용할 때는 중괄호 두개( {{}} )를 사용하지만 컨트롤러에서 URL변수를 사용할 때는 {} 하나만 씀

  • DB에서 데이터를 가져올때는 엔티티로 변환후 리파지터리로 이용
profile
성장을 추구하는 개발자 입니다 :)

0개의 댓글