책 삭제 하기

조수경·2022년 2월 3일
0

Spring

목록 보기
10/43

controller

//삭제
	// <form method="post" action="/delete">
	@RequestMapping(value = "/delete" , method = RequestMethod.POST)
	public ModelAndView deletePost(@RequestParam Map<String,Object> map,
			ModelAndView mav) {
		//map : {bookId=3}
        
		boolean isDeleteSuccess = this.bookService.delete(map);
		
		if(isDeleteSuccess) { //성공
			//목록 화면으로  redirect(요청흐름을 이동시킴. 단, 데이터는 이동 못함)
			mav.setViewName("redirect:/list?id=aa");
		}else {//실패
			//상세 화면으로 redirect
			mav.setViewName("redirect:/detail?bookId="+map.get("bookId").toString());
		}
		return mav;
	}

sql.xml

<!-- 책 삭제 -->
	<delete id="delete" parameterType="hashMap">
		delete from book
		where book_id = #{bookId}
	</delete>

dao

//책 삭제
	public boolean delete(Map<String,Object> map) {
		//RDBMS(Relational DataBase Management System) : 관계형 dbms
		//delete 구문은 update 구문처럼 where 조건에 일치하는
		//모든 행을 삭제하므로 영향을 받은 행의 수는 0 혹은 1이상이 됨
		int result = this.sqlSessionTemplate.delete("book.delete", map);
		//result > 0 는 삭제가 잘 되었다는 의미
		return result > 0;
	}

serviceImpl

//책 삭제
	@Override
	public boolean delete(Map<String,Object> map) {
		return this.bookDao.delete(map);
	}

service

//book 삭제
	public boolean delete(Map<String,Object> map);

detail.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- 

BookVO 
[bookId=3, title=해리포터, category=소설, price=15000, insertDate=2022-01-28 11:21:37.0]

	BookController에서 mav 객체에 data라는 이름으로 select검색 결과를 넣었으므로...
	mav.addObject("data",bookVO)
	달러{data.title} 형식으로 사용하면 됨 {vo, 멤버변수}
 -->
<!DOCTYPE html>
<html>
<head>
<title>책 상세</title>
</head>
<body>
<h1>책 상세</h1>
<p>제목 : ${data.title}</p>a
<p>카테고리 : ${data.category}</p>
<p>가격 : ${data.price}</p>
<p>입력일 : ${data.insertDate}</p>
<p><a href="/update?bookId=${data.bookId}">수정</a></p>
<p><a href="/list">목록으로</a>
<form method="post" action="/delete">
	<input type="hidden" name="bookId" value="${data.bookId}" />
	<input type="submit" value="삭제" />
</form>
</body>
</html>

profile
신입 개발자 입니다!!!

0개의 댓글