--> 해결
: Optional<객체> : null 방지 래퍼클래스
public Page<Dept> findAllByDnameContaining(String dname,
Pageable pageable) {
// DB like 검색 함수 실행 : 페이징 처리
Page<Dept> page
= deptRepository
.findAllByDnameContaining(dname, pageable);
return page;
}
// 상세조회 : 테스트용(생략)
@GetMapping("/dept/{dno}")
public String getDeptId(@PathVariable int dno,
Model model){
// DB 상세조회 서비스 함수 실행
Optional<Dept> optionalDept
= deptService.findById(dno);
// JSP 객체 전송 : 옵셔널객체.get() : 객체 꺼내기
model.addAttribute("dept", optionalDept.get());
return "basic/dept/dept_id.jsp";
}
}
public Dept save(Dept dept) {
// JPA 저장 함수 실행 : return 값 : 저장된 객체
Dept dept2 = deptRepository.save(dept);
return dept2;
}
}
@GetMapping("/dept/addition")
public String addDept() {
return "basic/dept/add_dept.jsp";
}
<%-- 저장함수--%>
<form action="/basic/dept/add" method="post">
<%-- input 태그 : 부서명--%>
<div class="mb-3">
<label for="dname" class="form-label">dname</label>
<input type="text"
class="form-control"
id="dname"
name="dname"
placeholder="부서명입력">
</div>
<%-- input 태그 : 부서위치--%>
<div class="mb-3">
<label for="loc" class="form-label">loc</label>
<input type="text"
class="form-control"
id="loc"
name="loc"
placeholder="부서위치입력">
</div>
<%-- 저장 버튼 --%>
<div class="mb-3">
<button type="submit" class="btn btn-primary">저장</button>
</div>
</form>
</div>
