Mission
DB속 데이터를 조회하여, 웹 페이지로 확인하시오
1.데이터 조회 흐름
1)사용자가 브라우저를 통해 데이터를 요청한다.
2)그 요청 URL을 Controller가 받는다.
3) URL에서 찾고자하는 데이터의 정보를 Repository 에게 전달한다.
4) 이를 받은 Repository는 DB 에게 요청을 보내고
5) DB는 해당 데이터를 찾아, 이를 Entity로 반환한다.
6) 반환된 Entity는 Model 을 통해 View Templates로 전달되고
7) 최종적으로 결과 페이지가 완성되어 클라이언트에게 보내진다.
2. 데이터 생성리뷰
3.URL 요청받기
4.컨트롤러 처리 흐름
// 1: id로 데이터를 가져옴
// 2: 가져온 데이터를 모델에 등록!
// 3: 보여줄 페이지를 설정
5.Repository ID 조회
// 1: id로 데이터를 가져옴
Article articleEntity = articleRepository.findById(id).orElse(null);
6.모델에 데이터 등록하기 (위에서 가져온 articleEntity 데이터를 모델에 등록)
// 2: 가져온 데이터를 모델에 등록!
model.addAttribute("article", articleEntity);
7. 뷰 페이지연결
// 3: 보여줄 페이지를 설정
-return "articles/show";
-articles/show.mustache 파일 생성
8. 뷰 템플릿 작성
{{#article}}
<tr>
<th>{{id}}</th>
<td>{{title}}</td>
<td>{{content}}</td>
</tr>
{{/article}}
9. 디폴트 생성자 추가
@NoArgsConstructor // 디폴트 생성자를 추가
요약
1)데이터를 조회하기 위해서는 URL을 입력해야하는데
2) 우리는 article/id 형태로 입력하기로 했다.
3) 그 URL요청을 받기 위해서는 컨트롤러의 코드가 필요하다.
4) URL요청을 파라미터로 받아올 때 에는 @PathVariable Long id 쓴다는거 까지 기억!하기
5) Repository 에서 id 값을 통해 데이터를 조회할 수 있다.
6) 특별히 데이터가 없는 경우 또한 .orElse(null); 기능을 통해 처리해야한다.
7) 가져온 데이터를 모델에 등록하고
8) view에서 가져와서 사용할 수 있는데 어떻게 할 수 있다고 ?
9) '#'을 통해서 article을 열고 , '/'을 통해 닫아 그 영역에서 article을 쓸 수 있다.
http://localhost:8080/articles/1 의 결과 페이지 (이전에 http://localhost:8080/articles/new 에서 데이터를 작성해줘야함)
🔥 구글링 훈련하기
- @PathVariable
- JPA CrudRepository findById 사용법
- @NoArgsConstructor
- Java Optional 사용법
내용참고
'Spring Boot > Spring Boot 입문 홍팍' 카테고리의 다른 글
[Spring boot] (13) 링크와 리다이렉트 (0) | 2023.08.07 |
---|---|
[Spring boot] (12) 데이터 목록보기 (0) | 2023.08.07 |
[Spring boot] (10) 롬복과 리팩터링 (0) | 2023.08.06 |
[Spring boot] (9) DB 테이블과 SQL (0) | 2023.08.06 |
[Spring boot] (8) 데이터 생성하기 with JPA (0) | 2023.08.01 |