전체적인 구조
/*
* [
* {} [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=바나나}