본문 바로가기
IT/Java

spring 예제 part.10

by 성준하이 2021. 12. 24.
반응형

개인적으로 이런 페이지를 구현할때 필자의 경우는 list > select > insert > update > delete 순서로 페이지를 구축하곤 한다.

그리하여 이번엔 삭제 기능을 구현해볼것이다.

 

일단 먼저 book_SQL.xml파일에 delete 쿼리를 추가하자.

  • bookSQL.xml 에 delete 쿼리 추가
<delete id="delete" parameterType="hashMap">  
<![CDATA[  
delete from book  
where  
book_id = #{bookId}  
]]>  
</delete
  • bookDao.java 추가
public int delete(Map<String, Object> map) {
   return this.sqlSessionTemplate.delete("book.delete", map);
}
  • bookServiceImpl.java,서비스 파일 추가
@Override
public boolean remove(Map<String, Object> map) {
   int affectRowCount = this.bookDao.delete(map);
   return affectRowCount == 1;
}

진행후 결과 하나만 받으면 된다.

그리고 Service부분에 슈퍼타입을 지정한다.

  • bookService.java 에 슈퍼타입 추가
boolean remove(Map<String, Object> map);

그다음은 controller부분을 추가해준다.

  • bookController.java 에 delete 관련 메서드 추가
@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;
}

삭제를 성공하면 현재는 없지만 리스트 부분으로 이동 시키고,

그렇지 않으면 해당 상세보기를 표출해준다.

 

어차피 삭제 메서드는 따로 보여줄 페이지가 없기에 view는 따로 만들지 않을것이다. 

detail에서 삭제 버튼을 누르면 delete 메서드가 작동하도록 구현을 해뒀기에!

 

아직 list를 만들지 않아서 404 에러가 뜰텐데, 입력을 하고 삭제가 되는것을 데이터베이스로 확인을 해보면 될것이다.

반응형

'IT > Java' 카테고리의 다른 글

spring 예제 part.12  (0) 2021.12.26
spring 예제 part.11  (0) 2021.12.25
spring 예제 part.9  (0) 2021.12.23
spring 예제 part.8  (0) 2021.12.22
spring 예제 part.7  (0) 2021.12.21

댓글