728x90
DB속 데이터를 조회하여, 웹 페이지로 확인하시오.
1. 데이터 조회 흐름
- 사용자가 브라우저를 통해서 데이터를 요청한다
- 그 요청 URL을 컨트롤러가 받는다.
- 받아진 URL에서 찾고자 하는 정보를 Repository에게 전달한다.
- 이를 받은 Repository는 DB에게 정보를 보내고
- DB는 해당되는 정보를 찾아서 Entity로 보낸다
- 반환받은 Entity는 model을 통해 View 템플릿으로 보내지고
- 최종적으로 요청한 사용자에게 보내짐.
2. 데이터 생성 리뷰
3. URL 요청받기
@GetMapping("/articles/{id}")
public String show(@PathVariable Long id){
log.info("id = "+ id);
return "";
}
------------------------------------------------------------------------------------------------------------
2022-04-28 23:17:21.720 INFO 7072 --- [nio-8080-exec-1] c.e.f.controller.ArticleController : id = 1000
잘 받아와지는거 확인.
4. 데이터 조회 흐름
1. id로 데이터를 가져옴!
2. 가져온 데이터를 모델에 등록!
3. 보여줄 페이지를 설정!
5. ID로 데이터 찾기
Article articeEntity = articleRepository.findById(id).orElse(null);
- id 값을 통해서 찾았는데 만약에 없다면 null을 반환해라.
6. 모델에 데이터 등록하기
model.addAttribute("article", articeEntity);
7. 뷰페이지 연결
articles/show.mustache 파일 생성
Bootstrap의 table 요소 가져옴.
8. 모델에서 던져진 Entity 요소 view페이지에서 출력.
{{#article}}
<tr>
<th>{{id}}</th>
<td>{{title}}</td>
<td>{{content}}</td>
</tr>
{{/article}}
9. 디폴트 생성자 추가
entity/Article.java 파일의
@NoArgsConstructor //디폴트 생성자를 추가해주는 어노테이션 추가
10.조회 페이지 확인
요약
1. 데이터를 조회하기 위해서는 URL을 입력해야하는데
2. 우리는 article/id로 입력하기로 하였다.
3. URL요청을 받기 위해서는 컨트롤러의 코드가 필요한데
4. URL요청을 받아올 때 @PathVariable Long id 쓴다는거 까지 정리하자.
5. Repository 에서 id 값을 통해 데이터를 조회하는데
6. 특별히 데이터가 없는 경우 또한 .orElse(null); 기능을 통해 처리한다.
7. 가져온 데이터를 모델에 등록하고
8. view에서 가져와서 사용할 수 있는데 어떻게 한다고?
9. #을 통해서 article을 열고 /으로 article을 닫는다
10. 그럼 안에 내용을 {{id}} 이런식으로 선언 후 조회하여 출력할 수 있음.
https://github.com/Giltaehyeong/firstproject/commit/956057db606d5630895363a5bc6b839214f78c4e
[스프링 부트 입문 11]데이터 조회하기 with JPA · Giltaehyeong/firstproject@956057d
DB속 데이터를 조회하여, 웹 페이지로 확인하시오. 1. 데이터 조회 흐름 - 사용자가 브라우저를 통해서 데이터를 요청한다 - 그 요청 URL을 컨트롤러가 받는다. - 받아진 URL에서 찾고자 하는 정보를
github.com
소스코드참고.
728x90
'Study > SpringBoot' 카테고리의 다른 글
[스프링 부트 입문 13]링크와 리다이렉트 (0) | 2022.05.03 |
---|---|
[스프링 부트 입문 12]데이터 목록조회 (0) | 2022.05.03 |
[스프링 부트 입문 10]롬복과 리팩터링 (0) | 2022.05.03 |
[스프링 부트 입문 09]DB 테이블과 SQL (0) | 2022.05.03 |
[스프링 부트 입문 08]데이터 생성 with JPA (0) | 2022.05.03 |