💡 댓글, 대댓글
3. 댓글 수정
댓글 수정을 클릭하면 하단에 입력창이 생성되고 내용이 자동 입력 된다. 수정이 된 경우에는 수정 된 글이라는 안내글이 작성자 이름 하단에 추가된다. qna 게시판의 특성상 말이 바뀐 것을 확인 해야 한다고 생각해서 수정이 된 경우에는 수정이 되었다고 안내 될 수 있도록 하였다.
4. 댓글 삭제
댓글이 달린 경우 삭제를 할 수 없게 안내하였다.
가장 마지막 댓글만 삭제 할 수 있고 삭제 된 경우에는 reply_content가 [삭제 된 댓글입니다.] 라는 식으로 변경되고 reply_delete 컬럼이 1로 수정되고 실제로 데이터베이스에서 삭제 되진 않는다. 이 부분이 괜찮은 방법인지 모르겠다. 하지만 바로 qna 게시판의 특성상 바로 삭제가 되어버리는건 아닌 것 같아서 일단 이런 식으로 설계하였다.
5. 대댓글
<insert id="insertReReply" parameterType="com.spring.community.ReplyVO">
insert into qna_reply values(REPLY_SEQ.NEXTVAL, #{qna_num}, sysdate, #{reply_content}, #{member_id},
#{reply_group}, (select max(reply_order) from qna_reply where reply_group = #{reply_group})+1 , 0, 0)
</insert>
최대한 sql문을 분리하지 않으려 했다. 대댓글 기능에 대해서는 조금 더 생각을 해봐야 할 것 같다.
우선은 1번에 대한 답글, 1-1에 대한 답글 모두 가장 밑에 입력이 된다. 삭제에 대한 것이 조금 공평하지 않은 느낀인가 싶기는 하지만 ..
6. 댓글 개수
resultType = "int"를 명시해주지 않아서 org.apache.ibatis.executor.ExecutorException : A query was run and no Result Maps were found for the Mapped Statement ~ 이런 오류 메세지를 보았다. 당연한 일이구만.
<select id = "getReplyCount" parameterType="com.spring.community.ReplyVO" resultType="int">
select count(*) from qna_reply where qna_num = #{qna_num}
</select>
우선 댓글 마무리 완료.
리스트에서 조회수 보이게 하는 걸 하고 싶어서 sql문 짜고 있는데 잘 안된다.
7. 조회수 뻘짓
select q.qna_num as qna_num, qr.reply_seq as reply_seq from qna q, qna_reply qr
where q.qna_num = qr.qna_num(+)
count() 함수를 이용해야할 것 같은데 사용 법을 제대로 모르겠다. 일단 덧글이 달리지 않은 곳에 0이 표시가 되어줘야 되기 때문에 null값을 0으로 바꿔주고, 그 뒤에 저 45를 카운트 하는 방법을 찾는 중.
'개발자 > 비트캠프' 카테고리의 다른 글
프로젝트 코드 변경 사항 및 메모 #9 - 관리자 메인 차트 코드 정리 (0) | 2020.05.14 |
---|---|
프로젝트 코드 변경 사항 및 메모 #8 (0) | 2020.05.14 |
프로젝트 코드 변경 사항 및 메모 #6 (0) | 2020.05.12 |
프로젝트 코드 변경 사항 및 메모 #5 (0) | 2020.05.07 |
프로젝트 코드 변경 사항 및 메모 #4 (0) | 2020.04.30 |
댓글