2023. 11. 29. 00:31ㆍ공부/BackEnd - Spring Boot
지금까지 DB 에 저장만 했다면 당연히 CRUD 도 되야하지 않겠는가? 그래서 이번에는 read 를 해보는 시간을 가졌다.
먼저 Controller 를 다음과 같이 조금 수정해주었다.
지금까지는 CrudRepository 에서 save 만 사용했다면 오늘 사용해볼 것은 findAll() 과 findById(ID) 이다. findAll() 은 db 에 저장된 entitiy 값을 모두 불러와서 Iteralbe 에 담아주고, findById는 특정 ID 를 이용하여 내가 원하는 값만 가지고 오는 것이다. findAll 의 경우 책에서 나온 대로 Repository 에서 findAll 을 ArrayList 로 return 해주도록 override 하였고, findByID 의 경우 원래 리턴 값이 Optional<T> 로 받아야 하나 orElse 를 사용하여 값이 없다면 null 이 할당될 수 있도록 하였다.
다음으로 Member 클래스에 @NoArgsConstructor 를 선언해주었다. 요게 뭔고 하니 원래 이전까지는 빈 생성자를 만들어줘야 한다고 오류가 나서 하나 만들어줬었는데, 이걸 자동으로 해주는 annotation 이라고 한다. 완전 편함 굿....
그리고 moel 을 전달 받을 view 를 만들어 주었다. table 은 bootstrap 에서 받아왔고, 다음과 같이 controller 에서 받아온
변수를 이용하여 table 안에 값을 채울 수 있다.
이제 이렇게 하고 다시 실행해보자.
우선 이렇게 값도 넣어주고, 잘 들어가는지 확인!
그 후에 table page 를 호출해보면?
다음과 같이 내가 저장한 값들로 table 이 채워져있는 부분을 확인할 수 있다!
그리고 특정 index 로 찾는 서비스를 호출해보면 다음과 같이 일치하는 index 만 나오는 것을 볼 수 있다.
오늘은 새로운 annotation 도 배우고, CrudRepository 의 새로운 기능 findAll, findById 나 db 에서 받아온 엔티티 데이터를, controller 에서 view 로 넘겨주어 display 하는 것까지 해보았다. 어려울 줄 알았는데 책을 따라하며 하니까 그래도 잘 되어서 기분이 좋았따 ㅎㅎㅎ. 근데 이렇게까지 하면 frontend 를 또 따로 배우는 이유가 있나? 그냥 spring boot 로 하면 되는거 아닌가 싶기도 하고.... 좀 더 배우면 알게되려나 싶은 생각도 든다. 앞으로도 화이팅!!
'공부 > BackEnd - Spring Boot' 카테고리의 다른 글
7일차 - Update / Delete Page 만들기 (0) | 2023.12.02 |
---|---|
6일차 - 게시판 내 페이지 이동(Link & Redirect) (1) | 2023.11.30 |
코딩 자율학습단 5기 - 5일차 lombok으로 코드 refactoring 하기. (0) | 2023.11.27 |
코딩 자율학습단 5기 - 4일차 Entity 및 DB 저장하기 (0) | 2023.11.26 |
코딩 자율학습단 5기 - 3일차 DTO 사용해보기 (1) | 2023.11.24 |