저번 강의에서는 브라우저에서 입력 받은 데이터를 컨트롤러로 받아오는 공부를 했다.
요번 강의에서는 받아와진 데이터를 JPA를 사용하여 DB에 저장하는 방법을 공부 할 것이다.
JPA란 자바 진영에서 ORM(Object-Relational Mapping)기술 표준으로 사용되는 인터페이스의 모음이다. 그 말은 즉, 실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다. JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다.
ORM이란 우리가 일반적으로 알고있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB테이블에 자동으로 영속화 해주는 것이다.
DB는 SQL이라는 언어를 사용한다. 그래서 자바언어를 인식하지 못하는데, 우리가 자바라는 언어를 이용하여 SQL언어를 사용하지 않고 DB를 사용하게 해준다. 또한 데이터 관리에 편리한 여러 기능을 제공한다.(Entity, Repository)
Entity는 자바 객체를 DB가 이해할 수 있게 규격화된 데이터이다. 이 Entity는 Repository를 통해 DB에게 전달되고 처리된다.
따라서 데이터를 DTO로 저장시키고 DTO를 Entity로 변환하고, Repository를 통해서 DB에 저장시킨다.(중요)
우선 지난 시간에 Controller에 Dto로 변환시킨 데이터를 Entity로 변환시켜준다.
src/main/java/com/example/springstudy/controller/articleController.java
entity라는 패키지를 생성해 Entity클래스를 생성한다.
Entity 클래스에 DB가 데이터를 인식할 수 있게 해주는 변수를 생성한다.
src/main/java/com/example/springstudy/entity/Article.java
@Entity
@Id
@GeneratedValue
@Column
src/main/java/com/example/springstudy/dto/ArticleFrom.java
src/main/java/com/example/springstudy/controller/articleController.java
@Autowired
private ArticleRepository articleRepository;
src/main/java/com/example/springstudy/repository/ArticleRepository.java
CrudRepository
<Article, Long>
ArticleForm{title='가가가가', content='11111'}
Article(id=null, title='가가가가', content='11111'}
Article(id=1, title='가가가가', content='11111'}
References(참고자료)
https://www.inflearn.com/course/%EA%B0%9C%EB%85%90%EC%8B%A4%EC%8A%B5-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%9E%85%EB%AC%B8