게시물 별 좋아요/싫어요 조회

김학준·2024년 6월 17일
0

게시판

목록 보기
37/44

문제 상황

게시물 단건 조회 시 좋아요/싫어요 반영 여부를 확인해야 한다. boardDaofindIsLikeByBoardSeqAndBoardTypeSeqAndMemberSeq()를 통해 다음과 같은 sql 쿼리를 실행하게 된다.

SELECT is_like
FROM forum.board_vote
WHERE board_seq = ? AND board_type_seq = ? AND member_seq = ?;

만약 해당 레코드가 없는 경우 다음과 같은 예외가 발생한다.

Request processing failed; nested exception is org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0
com.pf.www.forum.notice.dao.BoardDao.findIsLikeByBoardSeqAndBoardTypeSeqAndMemberSeq(BoardDao.java:72)

해결 방법

public String findIsLikeByBoardSeqAndBoardTypeSeqAndMemberSeq(Integer boardSeq, Integer boardTypeSeq, Integer memberSeq) {
	try {
		return boardDao.findIsLikeByBoardSeqAndBoardTypeSeqAndMemberSeq(boardSeq, boardTypeSeq, memberSeq);
	} catch (EmptyResultDataAccessException e) {
		return "Empty";
	}
}

위와 같이 try-catch문을 통해 예외 처리를 해주었다. 이후 해당 "Empty"modelread.jsp로 전달되는데 "Empty"인 경우에는 좋아요 또는 싫어요 어떤 것도 표시되지 않는다.

0개의 댓글