1. 책 삭제 기능 : http://localhost:8080/delete 주소로 책 정보 삭제 페이지 생성
2. 책 삭제 기능 쿼리 작성
▷ src/main/resources/sqlmap/book_SQL.xml
...(생략)... <!-- 책 삭제 기능 쿼리 작성 --> <delete id="delete" parameterType="hashMap"> <![CDATA[ delete from book where book_id = #{bookId} ]]> </delete> </mapper>
book_id 가 같으면 해당 숫자는 삭제합니다.
◎ MySQL 의 코드는 아래와 같이 사용할 수 있음DELETE FROM book where book_id = 1;
3. 책 삭제 기능 DAO 메소드 작성
▷ src/main/java/sample/spring/yse/BookDao.java
...(생략)... //책 삭제 기능 DAO 메소드 작성 public int delete(Map<String, Object> map){ return this.sqlSessionTemplate.delete("book.delete", map); } }
4. 책 삭제 기능 서비스 클래스 메소드 생성
▷ src/main/java/sample/spring/yse/BookServiceImpl.java
...(생략)... @Override public boolean remove(Map<String, Object> map){ int affectRowCount = this.bookDao.delete(map); return affectRowCount == 1; } }
5. 책 삭제 기능 서비스 인터페이스 메소드 시그니쳐 생성
▷ src/main/java/sample/spring/yse/BookService.java
boolean remove(Map<String, Object> map);
인터페이스에 위의 코드 추가
6. 책 삭제 기능 컨트롤러 메소드 추가
▷ src/main/java/sample/spring/yse/BookController.java
...(생략)... // 책 삭제 기능 컨트롤러 메소드 추가 @RequestMapping(value = "/delete", method=RequestMethod.POST) public ModelAndView deletePost(@RequestParam Map<String, Object> map) { ModelAndView mav = new ModelAndView(); boolean isDeleteSuccess = this.bookService.remove(map); if(isDeleteSuccess) { mav.setViewName("redirect:/list"); } else { String bookId = map.get("bookId").toString(); mav.setViewName("redirect:/detail?bookId=" + bookId); } return mav; } }
▷ 삭제 성공했으면 상세 페이지가 없으므로 목록으로 리다이렉트합니다.
▷ 삭제 실패했을시 다시 상세 페이지로 이동합니다.
7. 출력 화면(http://localhost:8080/detail?bookId=1)
삭제를 누르면 localhost:8080/list 페이지로 전환되며 404에러가 나타납니다.이후 다시 http://localhost:8080/detail?bookId=1 링크로 들어가면 빈 화면이 나타납니다.
detail 상세화면에 들어가면 책 내용을 삭제할 수 있는 버튼이 나타납니다!
BookId를 기준으로 했기 때문에 해당 번호에 저장된 페이지를 삭제할 수 있고 별도의 삭제 페이지는 만들지 않아도 되네요!
다음은 책 목록을 만들어 볼게요!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Spring' 카테고리의 다른 글
[코드로 배우는 스프링 웹 프로젝트] java spring 책 검색 기능 추가하기 (0) | 2023.03.18 |
---|---|
[코드로 배우는 스프링 웹 프로젝트] java spring 책 목록 만들기 (2) | 2023.03.18 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 수정 기능 만들기 (0) | 2023.03.17 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 수정 화면 만들기 (0) | 2023.03.17 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 상세 화면 만들기 (0) | 2023.03.16 |