Spring boot/3차 프로젝트 중 알게 된 것! (8) 썸네일형 리스트형 [3차 프로젝트]게시판 또는 게시판 그룹 별 게시판/게시글 개수 세서 프론트에 보내주기 게시판/게시판 그룹 별 게시글 개수/게시판 개수를 세는건 db에 테이블도 따로 있어서 다른 방법으로 했는데 게시판 그룹 기능을 나중에 추가하려다 보니 기능 내에서 갯수를 세는 걸 추가하게 되었다. db와 연동해서 출력하는 코드는 정리하면서 다음글에 올릴예정! 현재 프로젝트의 계층구조 BoardController.java // ######## 게시판 그룹 목록 조회 ######## @GetMapping("/intranet/board_group/list") public String boardgroupList(@ModelAttribute("params") BoardGroupVo params, Model model) { List boardgroupList = boardGroupService.retrievePag.. [3차 프로젝트] 2022-01-03일자 에로사항....Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: 음... 어딘가에서 꼬인건지 프로젝트 파일을 합치고 다시 받아서 돌려보니 새로운 게시판생성 후 게시글 등록시 에러가 뜬다 에러는 다음과 같다 ========================================================================= Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`pichoteldb`.`post`, CONSTRAINT `FK_board_TO_post` FOREIGN KEY (`bo_no`) REFERENCES `board` (`bo.. [3차 프로젝트] 게시판 별 게시글 개수 출력하기 // 계층 구조 수정 CRUD식으로 코드들의 순서를 바꾸면서 구조도 바꾸었다! 훨씬 깔끔하고 해당 기능들을 찾기 편해졌다ㅎㅎㅎ 코드도 정리를 잘해야 협업할 때 확실이 편한 것 같다. 각설하고 관리자 페이지에서 게시판을 전체 조회할 때 각각의 게시판마다 게시글이 몇개 있는지 출력하도록 기능을 추가 했다! 이때 고민한게 있는데 1. 관리자 페이지를 조회할 때마다 DB 에서 게시글 수를 긁어와서 보여줄까 2. 게시글을 쓰고 지울 때마다 각 게시판의 게시글 개수를 +1 -1을 해줄까 였다 여쭤보니 결론은 --조회보단 업데이트 빈도수가 적으니까 업데이트로 ==> 게시글을 작성/ 삭제할 때마다 +1 or -1 하는 걸로! 각각 BoardService, BoardServiceImple, BoardDao-mapper, Controller .. [3차 프로젝트] Intellij import가 제대로 안되거나 잘 돌아가던게 갑자기 빨간 줄이 생길 때 해결 법 캐시 삭제에 관련한 홈페이지의 내용 아래는 캐시 삭제와 관련하여 IntelliJ 홈페이지에 나와있는 내용의 일부이다. -IntelliJ 를 다시 시작해야 캐시가 삭제된다. -캐시를 삭제해도 Local History가 삭제되지 않는다. Local History는 5일동안 보관된다. IntelliJ에서 캐시 삭제 수행 IntelliJ 에서 [File] > [Invalidate Cashes / Restart...] 메뉴를 선택한다. [Invalidate Caches / Restart...] 메뉴를 클릭하면 요로코롬 창이 뜬다 [Invalidate and Restart] 를 클릭하면 캐시가 삭제되고 Intellij가 재시작된다. 이래도 안된다면 손수 에러를 찾아야지머... [3차 프로젝트 ] @ResponseBody과 mapping에 대해 간단한 정리 앞의 게시판목록을 DB에서 불러오기 코드를 controller단에 추가하다가 @ResponseBody에 대해 배웠다 간단하게 정보를 요청한 페이지는 그대로 두고(페이지 이동 안함!) json으로 정보만 받아다가 출력해준다고 생각하면 쉬울 것 같다! // 유형별 게시판 조회 // retrieveBoardListByType @ResponseBody @PostMapping("/loadboardtype") public List boardListByType(@RequestParam("type") String type) { List boards = this.boardService.retrieveBoardListByType(type); return boards; } 이게 최종인데 매핑을 해야할까에 대해 고민하게 되었.. [3차 프로젝트]Ajax로 DB에 있는 게시판 목록 끌어오기 Ajax로 DB에 있는 게시판 목록 끌어오기를 해보았다. 왔다 갔다하는게 이해가 잘 안됐었는데 까먹지 않기 위해 기록! 이 화면에서 저 버튼을 눌렀을 때 각각 타입별 게시판이 목록에 나타나게 하는게 목표이다. 게시판은 추가 수정될 수 있으니 DB에서 값을 끌어와야 변한 내용이 그때그때 화면에 출력 될 것 이다. header.html 전문 숙소리뷰 숙소톡톡 회원가입 로그인 알림 쪽지 관리자 페이지 내가 쓴 게시글 등업신청 정보수정 로그아웃 BoardController.java 전문 package com.example.board.controller; import com.example.board.model.*; import com.example.board.service.*; import com.example... [3차 프로젝트]Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 오류 해결법 중 하나 -- 건드린데는 오류가 없는데 팀프로젝트 파일을 합치고 나니 오류가 난다... 마이바티.. 깃에서 팀원들과 내가 작업한걸 올리고 합친걸 다시 받아서 작업하는데 잘되던 부분이 갑자기 오류가 났다 게시판 목록으로 들어가려는데 500에러가 떠버린것...!! intellij 의 콘솔창을 뒤졌더니 db에서 목록은 잘 가져오는 것같은데 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception ~~ 오류가 떴다. 대강 보기엔 service 어쩌구 해서 혹시 오타가 있다 뒤져봤지만 무쓸모 mapper에 쿼리문이 잘못 됐나 했지만 잘 돌아가는걸 확인... 오류를 어떻게 고쳐야하나 한참 헤맸다. 구글링에서 나온답은 서비스 단의 @Autowired 를 해야한다는 거였는데 난 이미 되어있었음ㅎㅎㅎ 결국 찾아낸 해.. [3차 프로젝트] 게시글에 들어갔을 때 댓글 허용인 게시판인지 사용 여부 판단을 위해 controller 수정하기 =================================최종 =================================== @GetMapping("/post/{postNo}") public String read(@PathVariable("postNo") int postNo, Model model, HttpServletRequest request, HttpServletResponse response) { // ######### 게시글 상세정보 시작 ######### // PostVo post = this.postService.retrieveDetailBoard(postNo); // ######해당 게시판에서 댓글 사용 여부 판단###### 이 부분에서 해당 게시글에 대한 정보를 가져오는 거니까 int.. 이전 1 다음