프로젝트 일지/Spring Boot & MyBatis - 게시판
등록 & 수정 & 삭제 기능 코드리뷰 및 일부수정
하나비 HANABI
2022. 8. 31. 15:11
https://sdevstudy.tistory.com/19
[iBATIS/MyBatis]쿼리실행 리턴(Return)결과 차이
INTRO iBATIS를 사용하는 중에 MyBatis와 쿼리문 실행 리턴결과가 다른것을 알았다. 따라서 잊지않기위해 정리해놓으려고 한다. iBATIS와 MyBatis의 리턴결과 차이 iBATIS MyBatis SELECT SELECT문에 해당하..
sdevstudy.tistory.com
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=weekamp&logNo=221561895664
Mybatis와 IBatis 리턴결과 차이
Ibatis Query <select> - 성공 : Select문에 해당 결과 - 실패 : 에러 <insert> - 성공 : n...
blog.naver.com
BoardController.java를 다음과 같이 수정
// 게시물 등록
@PostMapping(value="/insertBoard")
@ResponseBody
public String insertBoard (BoardDTO reqDto) throws Exception {
// mybatis에서 insert의 리턴 결과는 1
if (boardService.boardInsert(reqDto) == 1) {
return "게시물 등록 성공!";
} else {
return "게시물 등록 실패";
}
}
// 게시물 수정
@PutMapping(value="/updateBoard")
@ResponseBody
public String updateBoard (BoardDTO reqDto) throws Exception {
// mybatis에서 update의 리턴 결과는 업데이트된 행의 갯수 (없으면 0)
if (boardService.boardUpdate(reqDto) > 0) {
return "게시물 수정 성공!";
} else {
return "게시물 수정 실패";
}
}
// 게시물 삭제
@DeleteMapping(value="/deleteBoard")
@ResponseBody
public String deleteBoard (@RequestParam(value="pIdx") int pIdx) throws Exception {
// mybatis에서 delete의 리턴 결과는 삭제된 행의 갯수 (없으면 0)
if (boardService.boardDelete(pIdx) > 0) {
return "게시물 삭제 성공!";
} else {
return "게시물 삭제 실패";
}
}
}
다중 건수를 등록/수정 하는 경우도 있기 때문에 boardService.insert() > 0 이런식으로 표현
실패한 케이스를 테스트하려고 하면
수정/삭제의 경우에는 존재하지 않는 pk로 요청을 날려보면 에러가 떨어질 것이다.
등록 같은 경우에는 not null 인 값을 null로 강제로 한번 날려보거나, 데이터 길이를 테스트하기 쉽게 변경해보고 그거보다 초과한경우를 테스트해고 실패도 잘 떨어지는지 확인!