• 항상 /list 타이핑 해주기 귀찮으니까 home.jsp를 살짝 바꿔주자

home.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
	<title>Home</title>
</head>
<body>
<h1>
	<a href="list">게시판으로 이동</a>  
</h1>

</body>
</html>

list.jsp에서 Delete 부분 살펴보기

<c:forEach items="${list}" var="list">
	<tr>
		<td>${list.bId}</td>
		<td><a href="content_view?bId=${list.bId}">${list.bTitle}</a></td>
		<td><fmt:formatDate value="${list.bDate}" pattern="yyyy-MM-dd HH:mm"/></td>
		<td>${list.bCount}</td>
		<td><a href="update_view?bId=${list.bId}" class="btn btn-default" role="button">수정하기</a></td>

		<!-- 삭제하기 버튼을 클릭하면 해당하는 bId와 함께 delete url을 요청한다 -->
		<td><a href="delete?bId=${list.bId}" class="btn btn-default" role="button">삭제하기</a></td>
	</tr>
</c:forEach>

5-1 Controller Delete 작성

@Controller
public class BController {

	private static final Logger logger = LoggerFactory.getLogger(BController.class);
	
	@Autowired
	private SqlSession sqlSession;
	
	@RequestMapping("/list")
	public String list(Model model) {
		logger.info("list()");
		
		IDao dao = sqlSession.getMapper(IDao.class);
		model.addAttribute("list", dao.list());
		return "list";
	}
	
	// list랑 비교하면서 보자
	// delete는 view에 정보를 넘겨줄 필요가 없고 dao를 통해 db를 조작만 하고 끝난다
	// bId가 Int 인 것에 유의하자
	// 조작이 끝나면 list 페이지로 넘어가게 한다

	@RequestMapping("/delete")
	public String list(HttpServletRequest request) {
		logger.info("delete()");
		
		IDao dao = sqlSession.getMapper(IDao.class);
		dao.delete(Integer.parseInt(request.getParameter("bId")));
		
		return "redirect:list";
	}

}

5-2 IDao 작성

package com.javalec.bbs_prac.dao;
import java.util.ArrayList;
import com.javalec.bbs_prac.dto.BDto;

public interface IDao {

	public ArrayList<BDto> list();

	// 리턴타입이 void라는 것과 parameter 타입이 int라는 것을 유의
	public void delete(int bId);
	
}

5-3 IDao.xml (Mapper) 작성

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.javalec.bbs_prac.dao.IDao">
	<select id="list" resultType="com.javalec.bbs_prac.dto.BDto">
		SELECT * FROM BOARD ORDER BY 1 DESC
	</select>
	
	<!-- resultType이 없다 -->
	<delete id="delete">
		DELETE FROM BOARD WHERE BID = #{param1}
	</delete>
	
</mapper>

확인해보자.