[Spring Boot + JPA + MySQL] 게시글 조회

Junseo Kim·2020년 3월 2일
0
post-custom-banner

전 포스팅에서 설정해준 파일들을 이용해서 조회 기능을 구현해보려고 한다.

게시글 조회

DB에 데이터는 저장했지만, 저장된 데이터를 불러오지는 못했다. 저장된 데이터를 불러와 조회해보겠다.

Controller에서 '/list' 요청을 받았을 때, list.html로 매핑했었다.

list.html에서는 boardList라는 것으로 정보를 출력한다. 따라서, Controller에 boardList를 넘겨줘야 DB에 저장된 데이터를 볼 수 있다.

Controller

Model을 통해 View에 데이터를 전달해 줄 것이다.

BoardDto를 이용해 DB에 저장된 데이터를 List로 불러올 것이다. 실제 로직은 Service에서 구현해준다.

만든 List를 boardList 라는 이름으로 View에 전달해준다.

Service

Service에서 getBoardlist를 구현해준다. getBoardlist는 DB에 저장되어 있는 전체 데이터를 불러온다.

repository에서 모든 데이터를 가져와, 데이터 만큼 반복하면서, BoardDto 타입의 List에 데이터를 파싱하여 집어넣고, 완성된 BoardDto 타입의 List을 리턴해준다.

실행 결과

애플리케이션을 실행하고, 글쓰기를 하면 DB에 저장되고, 해당 데이터를 메인 페이지에서 확인할 수 있다.

게시글 Detail 페이지

각 게시글 별 Detail페이지를 구현해보겠다. detail.html로 연결시켜준다.

detail.html은 boardDto라는 값으로 데이터를 출력해준다.

Controller

각 게시글을 클릭하면, '/post/id값'으로 요청을 한다.
따라서, 각 게시글의 id 값을 받아서 해당 게시글의 요소들만 Dto타입으로 만들어서 전달해줘야한다.

@PathVariable을 통해 요청에 오는 id값을 받아 getPost로 전달한다. getPost는 각 게시글의 정보를 가져오는 기능인데 Service에서 구현해줄 것이다.

model을 통해 boardDto 타입의 데이터를 View에 전달해준다.

Service

게시글의 id 값을 받아 해당 게시글의 정보만 repository에서 findById로 가져온다.

그리고, BoardDto 타입으로 만들어 return 해준다.

실행 결과

게시글 추가 후, 해당 게시글을 클릭하면 디테일 페이지가 보여짐을 볼 수 있다.

reference: https://victorydntmd.tistory.com/327

post-custom-banner

0개의 댓글