본문 바로가기
개발/백엔드-스프링부트

스프링 부트 개념정리 (5)_ JPA로 데이터 생성

by 쑨토리 2022. 10. 13.
반응형

 

* 개인적으로 리뷰하려고 적은 글. 자세한 내용은 유튜브 홍팍님 채널에 가면 관련 강의들이 많이 있습니다! *

 

 

 

JPA를 활용해서 DB에 데이터를 생성하기.

폼 데이터를 컨트롤러로 받아오고, 받아와진 데이터를 데이터 베이스까지 저장하는 방법을 배웠다. 

 

이번 강의에는 DB에 데이터를 기록하는 방법을 학습했다.

DB에 데이터를 기록하려면 어떻게 해야할까?

 

 

여기서 발생할 수 있는 문제점은, DB는 자바언어를 모른다. 대신 SQL이라는 언어를 사용한다!

JAVA를 이해하지 못하는 DB에게 어떻게 명령을 할까?

 

이때 사용하는 것이 JPA이다. 

JPA는 자바 언어를 DB가 이해할 수 있게 해줄 뿐 아니라, 데이터 관리에 필요한 기능을 제공한다고 한다. 

 

 

 

JPA의 핵심 도구에는 Entity와 Repository가 있다.

여기서 Entity는 자바 객체를 디비가 잘 이해할 수 있게 만든 것이고 ,

Repository 라는 일꾼을 통해 디비에게 전달되고 처리 된다고 한다.

 

이번 강의에서는 DTO를 Entity로 변환하고, Repository를 통해서 DB까지 저장시키는 과정을 확인해보았다. 

 

 


 

1. 개요 잡기! 

- Entity로 변환

 

form 데이터를 통해서 데이터를 가져오는 코드에 개요를 작성해주기 

 

 이때 Article 클래스를 먼저 생성해준다. 

 

변환 메소드 추가 1.

 

 

 

변환 메소드 추가 2. 

 

repository에 entity를 db안에 저장할 수 있도록 코드를 치고, 

articlerepository를 생성해주기.

패키지를 만들고, 그 안에 인터페이스로 ArticleRepository 를 생성해준다. 

 

JPA에서 제공하는 repository 인터페이스를 활용해서 쉽게 만들어준다. 

extends 를 이용해서 CrudRepository 에서 제공하는 기능을 가지고 오기~

이 꺽쇠 안에는 1. 관리 대상 entity 를 넣어주고 (Article),  2. 관리대상 entity에서의 대표값의 타입을 적어준다.

이때 타입은 대표값인 ID의 Long 타입임.

 

 

 

 

이렇게하면 Article을 생성,읽고,수정,삭제의 동작을 추가 코드 구현없이 사용할 수 있게 된다.

 

 

 

 

객체 주입하기 (DI)

-컨트롤러에 @Autowired 입력!


 

💡 확인해보기! 💡

 

과정

DTO (ArticleForm에 담겨짐)  >> Entity 변환 (그래서 Article로 변환됨)  >> Article을 Repository로 저장하는 일을 시킴 (id 값이 자동으로 생성된 결과를 받음)

 

 

 

 

 

 

 


출처 : 유튜브 홍팍

https://www.youtube.com/watch?v=ZGgf_1OXcAY&list=PLyebPLlVYXCiYdYaWRKgCqvnCFrLEANXt&index=8