상세 컨텐츠

본문 제목

게시판 진행상황(7) - 회원별 게시판 JOIN 완료

백엔드 공부진행도/연습 코드

by myeongjaechoi 2024. 2. 27. 23:01

본문

결과

서로 연결된 로직을 이해하고 나니, 만들기가 수월해졌다.

BulletinBoard Class

게시판은, 한 회원이 여러 게시글을 작성할 수 있으므로, n:1 관계로 연결하고, member_id에 join 시켜주었다.

Member Class

회원은, 1:n 으로 연결해주었다.

BulletinBoardRepository

게시판이 저장될 때마다, 작성자의 id를 받아와서 저장할 수 있도록 인터페이스를 수정해주었다.

JpaBulletinBoardRepository

해당 id를 저장된 DB에서 찾고, 그 멤버에 게시판을 넣어주고, 게시판을 생성하도록 하였다.

BulletinBoardService

BulletinBoardService에서도 memberRepository를 사용하기 위하여, 의존성을 추가해줬고, 만약 해당 id의 member가 존재한다면, 저장할 수 있게 만들었다.

MemberController

이 부분에서 막혔었는데, 어떻게 하면 로그인 한 회원의 정보를 가져올 수 있을까? 라는 생각에 찾아본 결과, 데이터를 저장할 수 있는 HttpSession을 찾았다. 이때 내가 쓴 것의 구조는 session.setAttrubute(String name, Object object)이다.

이것은 세션을 이름과 객체로 매핑한다.

BulletinBoardController

HttpSession에서 저장한 객체를 받아와서, 그 멤버의 id를 조회하고 bulletinBoardService.create()에 넣어줌으로서 Join을 끝냈다.

테이블끼리 Join은 됐는데, 수정,삭제 권환이 모두에게 있는 것이 문제이다. 다음 시간에는 회원 별로 쓴 각자의 게시글에서만 수정/삭제가 가능하게 바꿔보겠다.

관련글 더보기