-
JPA를 이용한 데이터 조회스프링부트 2022. 5. 3. 00:44반응형
JPA를 이용해 데이터 조회를 하기전 JPA에 대한 선행지식이 필요하다
우리가 DB와 대화하기 위해서는 SQL 문법을 사용해야한다. 하지만 JPA를 사용하면 SQL문이 아닌 Method를 통해 DB를조작할 수 있어 개발자는 객체 모델을 이용해 비즈니스 로직을 구성하는데만 집중할수있다는 장점이 있다.
전에 JPA를 사용하기위해 Entity 와 Repository 클래스를 선언했었다. 그때 사용한 Entity와 Repository를 이용해 데이터를 조회해보자.
위의 코드는 controller의 일부이다.
데이터를 조회하기위해 GetMapping 어노테이션을 활용해서 괄호안의 url을 받았을때 아래를 실행하게 만들어준다
이때 {}안의 id는 id라는 변수를 의미한다.
articleEntity 변수 안에 Repository안에 저장된 값을 넣어준뒤 Model 클래스의 addAttribute 메소드를 사용해 key값을 article로 지정한뒤 value 값으로 articleEntity 변수를 넣어준다.
그 후 미리 만들어놓은 view파일인 articles/show를 return 해주는데 이때 view파일에서는 위의 articleEntity 변수를 받을수 없기때문에
{{#article}}을 선언해서 변수를 받을 수 있게 한다.
이를 이용해서 repository안의 정보 목록들을 한번에 확인해보자.
이번에는 과정을 순서화 해보자
1. GetMapping 어노테이션을 통해 url 주소를 받아준다.
2. JPA 의 findAll 메소드를 이용해 List 타입으로 정의한 articleEntityList 안에 레포지토리 안의 값들을 모두 저장해준다.
3. articleEntityList 안에 저장된 값들을 view 페이지로 전달하기 위해서 key 값으로 articleList를 선언하고 value 값으로는 articleEntityList 를 선언한다.
4. 미리 만들어둔 view 페이지를 return값으로 주면서 이동시킨다
이때 아까와같이 view 페이지에 Controller 코드에서 만든 key값인 {{#articleList}} 를 작성함으로써 view 페이지에서 DB안에 저장된 값을 변수로 사용할수 있게된다.
입력화면에서 값을 넣어준 뒤 http://localhost:8080/articles URL로 들어가면 GetMapping 어노테이션이 articles 패키지 안의 index 뷰 템플릿으로 이동시켜주고 위와같은 화면을 출력해준다
728x90반응형'스프링부트' 카테고리의 다른 글
[JPA] 변경 감지와 병합 (0) 2022.12.27 롬복을 이용한 리팩토링 (2) 2022.07.25 스프링 부트 ) JPA를 이용한 데이터 저장 (0) 2022.05.03 스프링부트 3일차 (0) 2022.04.06 스프링부트 2일차 (0) 2022.03.29