꾸준히 안타치기
댓글 구조 본문
16_02. [공개강의] 계층형 답변형 게시판 구현 로직 설명
계층형(Q&A, 답변형) 게시판을 구현하는 로직은 상당히 많이 있습니다. 그 중에서 제가 사용하고 있는 로직을 데이터베이스에 저장되는 관점에 포커스를 맞춰 소개합니다.
youtu.be
[spring/게시판] #7 계층형 게시판(답글달기)
개발환경 Server OS : Windows10 Language : JAVA 1.6 Framework : Spring 3.1.1 WEB Server : Apache WAS Server : Tomcat 7 build tool : maven 2.5.1 DB : MySQL 5.7.16 ORM : mybatis 3.2.7 7. 계층형 게..
gangnam-americano.tistory.com
게시글에 답변을 다는 방법 몇가지
1. 댓글 밑에 답글을 리사이클러뷰 안에 리사이클러뷰로 구현한다.
2. 댓글 밑에 답글 갯수만 표시하고, 누르면 답글로 넘어가도록 한다.(유투브 댓글) 댓글, 대댓글 테이블 각자 생성
3. 댓글을 다는 방식으로 답글을 단다. (계층형 게시판 댓글방식) 댓글 테이블 한개 생성
Id | Title | Ref | Depth | Step | AnswerNum | ParentNum |
글번호 | 게시판 제목 | 그룹번호 (부모글+댓글) 부모글과 = 자식글의 그룹번호가 같다 |
들여쓰기(부모글 0) (자식글 1)DESC |
같은 그룹내에서의 순서 ASC | 자식글의 수 | 부모글의 일련번호 (몇번글의 자식이냐) |
3번의 방식으로 구현하였다.
처음에 댓글을 게시글을 만든 형식으로 만들고,
게시글 번호, 게시글 작성자, 글내용, 날짜 , 그룹번호 + 들여쓰기 + 그룹내순서 3가지 컬럼을 추가 하였다.
댓글을 작성하는 EditText와 / 답글을 작성하는 dialog로 구분해서 서버로 데이터 전송
퀴리는 각각 작성했다.
댓글 작성시 -> 댓글을 생성하고, 생성된 댓글번호를 ref에 넣어준다. 부모글이므로 step은 0
답글 작성시 insert -> 자식글 이므로 step은 1, 작성순으로 표기하면 된다고 생각
게시글안에 있는 댓글들을, 그룹번호 Ref 순서로 정렬하고, 그룹내의 순서step 대로 한번 더 정렬한다.
|

칼럼 구성
- Id: 댓글 번호 auto_increment (PK)
- Title: 댓글 내용
- Ref: 대댓글의 그룹번호(부모의 Id를 따라가며, Null 또는 1을 기본값으로 설정한다)
- 마지막 Ref 값 + 1
- 댓글생성번호를 그룹번호와 같게 설정했다. 댓글PK번호를 Ref칼럼에 넣음.
- depth: 들여쓰기의 Level
- depth 와 같으며, 부모 depth + 1
- ex) 부모 0, 자식은 1로 설정했다. 댓글,대댓글만 구현해서 자식은 모두 1로 설정했다.
- Step: 같은 그룹내에서의 순서
- 기본값은 0으로 설정, 대댓글은 부모의 RefOrder + 1
- AnswerNum: 대댓글의 개수(부모가 가지고 있는 전체 대댓글의 개수)
- 손자글까지의 개수가 아닌 바로 아래의 자식글 개수만 해당
- ParentNum: 대댓글에서 가지게될 부모의 Id
- ex) id: 1 에 대댓글을 작성하면 해당 대댓글은 ParentNum 으로 1 값을 가진다
'iOS > 서버연동' 카테고리의 다른 글
JSON / Codable - Encoding and Decoding (0) | 2022.01.04 |
---|---|
API Alamofire / SwiftJSON 사용법 공부하기***** (0) | 2021.12.27 |
aws timezone시간 바꾸기 (0) | 2021.09.03 |
TCP/IP 앱개발자에 필요한 네트워크 지식 / 서버연동 어떻게? (0) | 2021.05.10 |
우분투 계정추가 (0) | 2021.03.14 |