Mission
DB 속 모든 Article을 목록으로 조회하시오.
단일 데이터 조회하는 과정과 동일하다. 특별히 다른점은 레파지토리가 반환하는 결과가 엔티티가 아닌 엔티티의 묶음, 즉 list 라는 점이다.
1.브라우저 요청 받기
@GetMapping("/articles")
public String index() {
return "";
}
2. 컨트롤러 처리흐름
1) 모든 Article을 가져온다.
List<Article> articleEntityList = articleRepository.findAll();
2) 가져온 Article 묶음을 뷰로 전달
3) 뷰 페이지를 설정!
3.타입 캐스팅
방법 아래 3가지, 1번 사용
1) 익숙한 Array List 사용
- List<Article> articleEntityList = articleRepository.findAll();
2) Iterable 타입으로 맞춰준다.
- Iterable<Article> articleEntityList = articleRepository.findAll();
3). 캐스팅 해주는 방법
- List<Article> articleEntityList = (List<Article>)articleRepository.findAll();
4. 메소드 오버라이딩
respository/ArticleRepository 에서
@Override //타입 불일치 오류 해결 위해
ArrayList<Article> findAll();
5. 모델에 데이터 등록
// 2: 가져온 Article 묶음을 뷰로 전달 (arryList 형태로, List 가 Arraylist의 상위이다.)
model.addAttribute( "articleList", articleEntityList);
(모델을 통해서 )model.addAttribute( "변수이름", 던져줄 데이터);
6. 뷰 페이지 연결
// 3: 뷰 페이지를 설정!
return "articles/index";
7. 뷰페이지 작성
index.mustache 파일 생서
articleList 로 던져주기로 했다. {{#articleList}}
8. 동작확인
localhost:8080/articles 에서 확인
9. 머스테치 반복 출력
해당 변수가 묶음일 경우 안쪽에 있는 데이터를 반복시켜준다.
http://localhost:8080/articles 에서 확인
🔥 구글링 훈련하기
- Java Iterable
- Java List Arraylist 차이
(arryList 형태로, List 가 Arraylist의 상위이다.)
- mustache 반복문
내용참고
https://www.youtube.com/channel/UCpW1MaTjw4X-2Y6MwAVptcQ
'Spring Boot > Spring Boot 입문 홍팍' 카테고리의 다른 글
[Spring boot] (14) 수정 폼 만들기 (0) | 2023.08.07 |
---|---|
[Spring boot] (13) 링크와 리다이렉트 (0) | 2023.08.07 |
[Spring boot] (11) 데이터 조회하기 (0) | 2023.08.07 |
[Spring boot] (10) 롬복과 리팩터링 (0) | 2023.08.06 |
[Spring boot] (9) DB 테이블과 SQL (0) | 2023.08.06 |