본문 바로가기

Dev-/Spring

'좋아요' 기능 추가하기

개인 프로젝트에서 계속 미뤄오던 좋아요 기능을 구현해봤습니다.



우선 아래와 같이 좋아요 테이블을 하나 만들어야 합니다.

(lno: 기본키, bno: 외래키(글 no), uid외래키(사용자 id))



여기서,, 제가 찾아본 방식은 

필드를 하나 더 만들어 좋아요 상태를 1 <--> 0으로 토클시켜주는 방식을 사용하던데


커뮤니티에 조언을 구한 결과,

그냥 해당 데이터를 생성 <--> 삭제 하는것이 좋다는 의견이 많아 필드를 3개만 주었습니다.



전체적인 그림은,

1. 좋아요 버튼은 로그인시 활성화

2. 버튼 클릭시 Ajax로 uid, bno를 가진 데이터가 존재하는지 검사

3. 2.결과를 이용해 [좋아요] <--> [좋아요 취소] 로직처리

3.1 데이터가 존재하지 않는다면: 데이터 추가

3.2 데이터가 이미 존재한다면: 데이터 삭제



[like-mapper.xml]




대강 위 흐름만 보시면 아마 각자 구현하실 수 있으실 듯 합니다.


이번 포스팅은 구현 자체가 어려운 것이 아니라, 

해보지 않아서 어려웠던 것 같네요.



단순히 '객체'에 해당하는 것만 테이블로 만드는 것이 아니라, '관계'를 나타내는 테이블도 만들 수가 있다는 것을 알게되었습니다.

생각해보면 관계형 DBMS를 사용하니 당연한 거네요.