[spring 실습] 게시판 만들기 - 글 삭제 기능 만들기
[spring 실습] 게시판 만들기 - 글 수정 기능 만들기 : integer-ji.tistory.com/342
이어서 진행됩니다.
Delete 쿼리문 추가하기
<delete id="deleteProject">
DELETE FROM
TB_PROJECT
WHERE
PRO_ID = #{proId}
</delete>
Oracle의 Delete문입니다.
Delete문은 데이터를 삭제하므로 주의해야 하는 Sql문입니다.
DAO 설정
void deleteProject(int proId);
Delete문을 추가하여 줍니다.
Delete문을 사용하며 insert, update와 다른 점은 projectVO의 모든 값을 넘겨주는 것이 아닌.
int proId 값만 넘겨줍니다.
왜냐하면 delete는 이미 작성되어있는 글의 pk 값인 proId 파라미터만 있어도 가능하기 때문입니다.
Service Delete문 추가
void deleteProject(int proId);
Service에 DAO 연결
@Override
public void deleteProject(int proId) {
projectMapper.deleteProject(proId);
}
다시 ServiceImpl에 가져옵니다.
Controller 추가
/**
* 글을 삭제합니다.
* @return
*/
@RequestMapping(value = "/projectDelete.do")
public String projectDelete(int proId) {
projectService.deleteProject(proId);
return "redirect:/projectList.do";
}
글을 삭제하는 Api에는 proId만 가져와 줍니다
projectList.jsp 삭제 추가
<td><a href="${path}/projectDelete.do?proId=${item.proId}">삭제</a></td>
삭제 버튼을 누를 경우 해당 proId의 값을 파라미터로 넘겨줍니다.
Test
삭제
8번 글이 정상 삭제되었습니다.
Delete문에 사용에 대한...
더보기
하지만 제가 겪은 실전에서는 Delete문을 최소한으로 사용합니다.
왜냐하면 모든 게시글, 정보는 모두 History가 되기 때문이죠
특히 게시글처럼 기록이 남아야 한다면 Table에 deleteYn이라는 Column을 추가하여
"Y" 혹은 "N"으로 컨트롤하여 노출을 표시하여 줍니다.
참고 GitHub : github.com/integerJI/spring.git
'코딩공부 > Java Spring' 카테고리의 다른 글
[spring실습] 게시판 만들기 - 조회수 추가, Oracle 컬럼 추가, default, null 설정 (0) | 2021.01.02 |
---|---|
[spring 실습] 게시판 만들기 - 상세(Detail) 페이지 추가 (0) | 2021.01.01 |
[spring 실습] 게시판 만들기 - 글 수정 기능 만들기 (0) | 2020.12.30 |
[spring 실습] 게시판 만들기 - 글 쓰기 기능 만들기 (0) | 2020.12.28 |
[spring 기초] mvc project 없음 Spring Legacy Project에 아무것도 없을때 (2) | 2020.07.13 |