ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.