1. 삭제 기능을 인터페이스에 선언
//src/main/java/kr/co/javaspecialist/hr/model/IEmpRepository.java 에 추가
int deleteEmp(int employeeId);
2. 삭제 기능을 클래스에 구현
//src/main/java/kr/co/javaspecialist/hr/model/EmpRepository.java 에 추가
public int deleteEmp(int employeeId) {
String sql = "DELETE FROM EMPLOYEES WHERE EMPLOYEE_ID=?";
return jdbcTemplate.update(sql, employeeId);
}
3. 삭제 처리 컨트롤러 구현
//src/main/java/kr/co/javaspecialist/hr/web/EmpController.java 에 추가
@RequestMapping("/delete/{employeeId}")
public String delete(@PathVariable int employeeId, RedirectAttributes redirectAttrs) {
try {
empRepository.deleteEmp(employeeId);
}catch(RuntimeException e) {
redirectAttrs.addFlashAttribute("message", e.getMessage());
}
return "redirect:/emp/list";
}
4. 삭제는 목록조회 화면에서 삭제 링크 클릭
* 일부 데이터는 삭제되지 않을 수 있습니다.
* 일부 사원의 경우 매니저로 등록되어 있기 때문에 다른 사원이 참조하고 있기 때문입니다.
|