728x90
Spring Legacy · STS · OracleDB · SQLDeveloper
답글을 만들려면 추가정보가 필요하다.어떤 추가정보가 필요하느냐를 아는 것이 중요하다.
위 사진은 답변형 게시판을 어떻게 만들지 설계를 도와줄 참고 이미지이다.
1. 관련있는글을 묶어야한다
4253번의 글과 해당 글에 달린
나머지 여러개의 답글들은 서로 관련있는글이다.
이것을 그룹으로 묶어야한다.
이것을 bGroup으로 명명하자.
2.몇번째 글인지를 알아야한다
그룹에서 몇번째에 글이 존재하는지 알고 그것을 데이터 저장해야한다.
이것은 bStep이라고 지정할 것이다.
2.몇번 띄었는지를 알아야한다.
글이 원글에서 몇번 띄어졌는지를 알아야한다. (아래이미지참고)
이것은 bIndent이라고 이름짓자.
답변형게시판에 필요한 세가지 정리:
bGroup, bStep, bIdent 컬럼
위 기준으로 참고 이미지의 게시판을 bGroup, bStep, bIdent로 분석해보자.
답변형 게시판 TABLE 생성
답변형 게시판 만드는 방법 정리
① DB에 bGroup, bStep, bIndent 컬럼을 추가한다.
② 새로운 답글이 추가되면 새로운 그룹을 만들어준다.
이때 그룹의 값(bGroup)은 bId를 사용한다.
bStep=0, bIndent =0, bGroup=bId
③ 기준글에 새로 쓴 답글로 넣을때는
- 새로 쓴 답글의 bGroup = 기준글의 bGroup
- 같은 그룹의 기준글의 bStep보다 큰 bStep를 가지고 있는 같은 그룹에 글들을 bStep값을 모두 하나씩 증가시킨다.
- 새로 쓴 답글의 bStep = 기준글의 bStep+1
- 새로쓴 답글의 bIndent = 기준글의 bIndent+1
④ 최종적으로 화면에 보여줄때
order by bGroup desc (내림차순), bStep asc (오름차순)로 정렬하여 보여준다.
728x90
'STUDY > SpringLegacy' 카테고리의 다른 글
[SPRING] 프로젝트 폴더 구조 분석 (0) | 2022.12.21 |
---|---|
[JSP] import · JSP태그 · taglib · Include · c:url (0) | 2022.12.20 |
[Spring] 페이징 처리와 검색 기능 생성 이해하기 (0) | 2022.09.21 |
[Spring] JOIN table 생성과 설명 이미지 (0) | 2022.09.21 |
[JSP] 예외처리 연습 / JSP include 태그 (1) | 2022.09.19 |