저장 버튼 클릭 시 실행될 함수
-DeptController.java
@PostMapping("dept/add")
public RedirectView createDept(
@ModelAttribute Dept dept
) {
// DB 저장 서비스 함수 실행
deptService.save(dept);
// 전체 조회 페이지 강제이동 (리다이렉트)
return new RedirectView("/basic/dept");
}
-BaseTimeEntity
private String insertTime = LocalDateTime.now().toString();
private String updateTime = LocalDateTime.now().toString();
(화면출력)

@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {
private String insertTime;
private String updateTime;
// TODO: JPA 에서 insert 가 실행되기전에 실행하는 함수
// 예) OnPrePersist() -> insert 실행
@PrePersist
void OnPrePersist() {
// insert 하기전에 현재날짜를 넣기
this.insertTime = LocalDateTime.now().toString();
}
// TODO: JPA 에서 update 가 실행되기전에 실행되는 함수
// 예) OnPreUpdate() -> update 실행
@PreUpdate
void OnPreUpdate() {
// update 하기전에 현재날짜를 넣기
this.updateTime = LocalDateTime.now().toString();
// insertTime 같이 변경 (생성일시 == 수정일시 동일하게 처리)
this.insertTime = this.updateTime;
}
}

@PrePersist
void OnPrePersist() {
// insert 하기전에 현재날짜를 넣기 : 날짜포맷(yyyy-MM-dd HH:mm:ss)
this.insertTime = LocalDateTime.now()
.format(DateTimeFormatter
.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
// TODO: JPA 에서 update 가 실행되기전에 실행되는 함수
// 예) OnPreUpdate() -> update 실행
@PreUpdate
void OnPreUpdate() {
// update 하기전에 현재날짜를 넣기
this.updateTime = LocalDateTime.now()
.format(DateTimeFormatter
.ofPattern("yyyy-MM-dd HH:mm:ss"));
// insertTime 같이 변경 (생성일시 == 수정일시 동일하게 처리)
this.insertTime = this.updateTime;
}
(화면출력)

1) 수정페이지 열기 함수
@GetMapping("/dept/edition/{dno}")
public String edition(@PathVariable int dno,
Model model
) {
// 서비스 상세조회 함수 호출 : return 값 optional 객체
Optional<Dept> optionalDept = deptService.findById(dno);
// 옵셔녈 객체에서 결과를 꺼내서(부서객체) jsp 로 전송
model.addAttribute("dept", optionalDept.get());
return "basic/dept/update_dept.jsp";
}
2) 수정 버튼 클릭시 실행될 함수
// 2) 수정 버튼 클릭시 실행될 함수
// update -> put 방식 -> @PutMapping
@PutMapping("/dept/{edit/{dno}")
public RedirectView updateEmp(@PathVariable int dno,
@ModelAttribute Dept dept
) {
// DB 서비스 함수 실행 : save()
deptService.save(dept);
// 전체 조회 페이지로 강제 이동(리다이렉트)
return new RedirectView("/basic/dept");
}