Project/헤이버디

[헤이버디] 일정 삭제시키기 (Delete)

AlexHouse 2022. 6. 5. 20:58
728x90

 일정의 삭제의 경우는 두가지 경우가 있다.

1. DelNy를 0 또는 1로 주어 삭제 여부를 선택하는것 (update)라고봐도 무방하지만, 쓰임은 삭제이다

2. 데이터베이스 안의 데이터를 모두 날려버리는 삭제가 있다.


 

DelNy를 이용한 삭제

planMpp.xml

 

 

<update id="updateDelete">
		UPDATE
			hybdPlan  <!-- 진짜 중요한게 테이블 이름틀리면 505 Error 불변임 -->
		SET
			hyplDelNy = 1
		WHERE 
			1 = 1
		AND hyplSeq = #{hyplSeq}
	</update>

 

 

다음과 같이 hyplDelNy = 1 로 바꿔주면서

 

일정 리스트에는 안뜨게 하는 방법이다.

 

요즘은 이 방법을 많이한다고 들었다.

 

 

 

<select id="selectList" resultMap="resultMapObj">
		SELECT
			a.hyplSeq
			,a.hyplName
			,a.hyplDefaultNy
			,a.hyplDelNy
			,a.hyplDate
			,a.hyplEndDate
			,a.hyplDesc
			,a.hyplMemberName
			,b.hyspSeq
		FROM
			hybdPlan AS a
		LEFT JOIN hybdSpace AS b ON a.hyspSeq = b.hyspSeq
		WHERE 	1 = 1
		 AND	b.hyspSeq = ${hyspSeq}
		 AND 	a.hyplDelNy = 0
	</select>

 

 

다음 selectList 코드를 보면

 

 

 

 

hyplDelNy = 0 만 끌어 오도록 조건을 주기 때문에

 

DelNy가 1로 바뀌게되면 일정에 나오지 않게 된다.

 

 

 

 

planList.jsp

 

 

 

	<a href="javascript:goNele(<c:out value="${rt.hyplSeq}"/>)" class="btn btn-danger" style="float: left">삭제하기</a>

 

 

 

 

이건 버튼 이고,

 

 

 

 

 

goNele = function(seq) {
			$("#hyplSeq").val(seq);
			$("#planEdit").attr("action", "/plan/planListNele");
			$("#planEdit").submit();
		};

 

 

 

 

실질적으로 삭제 명령은 여기서 주는것이다.

 

 

goNele를 주었을때 planListNele로 넘기는 명령

 

 

 

 

 

 

 

planController.java

 

 

 

	@RequestMapping(value = "/plan/planListNele")
	public String planListNele(@ModelAttribute PlanVo vo, Plan dto ,RedirectAttributes redirectAttributes, HttpSession httpSession) throws Exception {

		System.out.println("####### 삭제 시작 #######");
		
		vo.setHyplSeq(dto.getHyplSeq());
		
		service.updateDelete(vo); // 데이터를 받아오고
		
		redirectAttributes.addFlashAttribute("vo", vo);


		return "redirect:/plan/planList"; // 업데이트 해주는 영역

	}

 

 

 

이것이 바로 삭제해주는 영역이라고 볼 수 있다.

 

 

 

여기서 명령을 받아서

 

 

planServiceImple로 갔다가

 

planDao로 이동되면서 삭제된다.

 

 

물론 Plan.java 와 planVo.java 에도

 

객체가 선언 되어야 있어야한다.

 

 

 

 

 

 

 

결과값

 

 

 

 

 

 

클릭

 

 

 

 

 

 

삭제하기 클릭

 

 

 

 

 

자바스크립트를 다음과 같이 주었다.

 

 

 

 

 

 

 

데이터가 이렇게 없어진걸 확인 할 수 있다.

 

 


 

 

 

 

To be continue..

728x90