1. 책 수정 기능 : http://localhost:8080/update?bookId=1 에서 저장 버튼 클릭시 책 정보 갱신
2. 책 수정 기능 쿼리 작성
▷ src/main/resources/sqlmap/book_SQL.xml
...(생략)... <!-- 책 수정 쿼리 작성 --> <update id="update" parameterType="hashMap"> <![CDATA[ update book set title = #{title}, category = #{category}, price = #{price} where book_id = #{bookId} ]]> </update> </mapper>
update를 통해서 title, category, price 값들을 변경합니다.
◎ MySQL에서는 아래의 코드를 사용한 것과 동일합니다.UPDATE book set title='제목', category='IT', price=10000 where book_id = 1;
3. 책 수정 기능 DAO 메소드 작성
▷ src/main/java/sample/spring/yse/BookDao.java
...(생략)... //책 수정 기능 DAO 메소드 작성 public int update(Map<String, Object> map){ return this.sqlSessionTemplate.update("book.update", map); } }
4. 책 수정 기능 서비스 클래스 메소드 생성
▷ src/main/java/sample/spring/yse/BookServiceImpl.java
...(생략)... @Override public boolean edit(Map<String, Object> map){ int affectRowCount = this.bookDao.update(map); return affectRowCount == 1; } }
5. 책 수정 기능 서비스 인터페이스 메소드 시그니쳐 생성
▷ src/main/java/sample/spring/yse/BookService.java
boolean edit(Map<String, Object> map);
인터페이스에 위의 코드 추가
6. 책 수정 기능 컨트롤러 메소드 추가
▷ src/main/java/sample/spring/yse/BookController.java
...(생략)... // 책 수정 기능 컨트롤러 메소드 추가 @RequestMapping(value = "update", method=RequestMethod.POST) public ModelAndView updatePost(@RequestParam Map<String, Object> map) { ModelAndView mav = new ModelAndView(); boolean isUpdateSuccess = this.bookService.edit(map); if(isUpdateSuccess) { String bookId = map.get("bookId").toString(); mav.setViewName("redirect:/detail?bookId=" + bookId); } else { mav = this.update(map); } return mav; } }
7. 책 수정 기능 확인
▷localhost:8080/update?bookId=1
위와 같은 수정페이지가 나타나고 제목을 '이것이 자바다' → '스프링 MVC'로 수정하면 아래와 같은 화면이 나타납니다.
이번에는 책 수정 페이지에서 저장을 누르면 책 상세 페이지에 업데이트가 되는 것을 확인할 수 있는 화면이 나타납니다!
BookId를 기준으로 했기 때문에 해당 번호에 저장된 페이지를 수정할 수 있네요!!
다음은 책 삭제 기능을 만들어 볼게요!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Spring' 카테고리의 다른 글
[코드로 배우는 스프링 웹 프로젝트] java spring 책 목록 만들기 (2) | 2023.03.18 |
---|---|
[코드로 배우는 스프링 웹 프로젝트] java spring 책 삭제 기능 만들기 (0) | 2023.03.17 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 수정 화면 만들기 (0) | 2023.03.17 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 상세 화면 만들기 (0) | 2023.03.16 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 입력 기능 만들기 (0) | 2023.03.16 |