댓글처리

지환·2024년 1월 3일
0

그룹웨어

목록 보기
7/17

전체적인 구조

            /*
             * [
             * {} [0번쨰-한 건 조회-상세보기] 이건 select * from board240103 where b_no = 13;
             * {comments:[
             * {}
             * ,{}
             * ,{}]}
             * ]
             * - comments 쿼리문은
             * select bc_comment, bc_writer, bc_date from board240103_comment where b_no =
             * 13
             * cmap.put("comments",commnetList); 부분이다.
             * 
             */
public class BoardComment {
    public static void main(String[] args) {
        List<Map<String, Object>> boardDetail = new ArrayList<>();
        Map<String, Object> dmap = new HashMap<>();
        dmap.put("b_title", "5개월 PT권 양도합니다.");// {"b_title" = "5개월 PT권 양도합니다.", "b_content" = "갑자기 ~ 양도합니다.","b_date" =
                                              // "2024~"} 하나로 묶인 상태로 add 함
        dmap.put("b_content", "갑자기 지방발령으로 양도합니다. 원하시면 아래 이메일로 연락바랍니다.");
        dmap.put("b_date", "2024-01-03");
        boardDetail.add(dmap);
        System.out.println("boardDetail : " + boardDetail.get(0));

        List<Map<String, Object>> commentList = new ArrayList<>();
        Map<String, Object> rmap = new HashMap<>();
        rmap.put("bc_writer", "키위"); // {bc_writer = "키위"}
        rmap.put("bc_comment", "혹시 몇회가 남은 건지 궁금합니다");
        commentList.add(rmap);// [{bc_writer = "키위", bc_comment = "혹시 몇회가 남은 건지 궁금하다."}]
        rmap = new HashMap<>();
        rmap.put("bc_writer", "사과"); // {}
        rmap.put("bc_comment", "혹시 5개월동안 헬스도 이용이 가능한 걸까요?."); // {},{}
        commentList.add(rmap); // [{},{}]
        rmap = new HashMap<>();
        rmap.put("bc_writer", "바나나");
        rmap.put("bc_comment", "혹시 사용기간이 제한되어 있는 걸까요?.");
        commentList.add(rmap);
        if (commentList.size() > 0) { // 댓글이 xx개 이상이라면,
            Map<String, Object> cmap = new HashMap<>();
            cmap.put("comments", commentList);
            System.out.println("cmap>>????>" + cmap.get("comments"));
            /*
             * {comments:[{},{},{}->cmap]->commentList}
             */
            boardDetail.add(1, cmap);
        }

        System.out.println("상세보기 내용 출력");
        // 리스트에서 0번째 방에 있는 정보를 출력하면 된다.
        Map<String, Object> detail = boardDetail.get(0);
        System.out.println(detail);
        System.out.println("=============[[ 댓글목록 보기 ]]===============");
        // 댓글을 출력해본다 - 동일한 list에서 가져오는데 단 1번째 방에 있는 정보를 출력한다
        Map<String, Object> comments = (Map) boardDetail.get(1);
        /*
         * {comments = [{bc_writer = "키위", bc_commnets = "공부하고 있어요"},
         * {bc_writer = "사과", bc_commnets = "4개월동안 헬스장감"},
         * {bc_writer = "딸기", bc_commnets = "딸딸기"}]
         */

        if (comments.containsKey("commnets")) {
        }
        if (comments.containsKey("comments")) {
            List<Map<String, Object>> comList = (List) comments.get("comments");
            for (int i = 0; i < comList.size(); i++) {
                Map<String, Object> bcMap = comList.get(i); // 타입이 같아서
                System.out.println(bcMap);
            }
        } else {
            System.out.println("댓글이 없습니다.");
        }
    }// end of main
}


controller.BoardComment
상세보기 내용 출력
{b_content=갑자기 지방발령으로 양도합니다. 원하시면 아래 이메일로 연락바랍니다., b_title=5개월 PT권 양도합니
다., b_date=2024-01-03}
=============[[ 댓글목록 보기 ]]===============
{bc_comment=혹시 몇회가 남은 건지 궁금합니다., bc_writer=키위}
{bc_comment=혹시 5개월동안 헬스도 이용이 가능한 걸까요?., bc_writer=사과}
{bc_comment=혹시 사용기간이 제한되어 있는 걸까요?., bc_writer=바나나}

profile
아는만큼보인다.

0개의 댓글