3.1 폼 데이터란?
- HTML 요소인 <form> 태그에 실려 전송되는 데이터
- DTO란? <form> 태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는 것
- 최종적으로 DTO로 받은 데이터는 데이터베이스에 저장
3.2 폼 데이터를 DTO로 받기
- 뷰 템플릿 페이지는 templates에 만든다.
- <form> 태그 안에 어디에 보낼지는 action 속성에 어떻게 보낼지는 method 속성으로 설정해준다.
- 폼 데이터를 post 방식으로 전송했으므로 컨트롤러에서 받을 때도 @PostMapping()으로 받는다.
- 생성자 추가하기는 Generate -> Constructor 선택
- toString() 메서드로 데이터 출력
3.3 DTO를 데이터베이스에 저장하기
- JPA(Java Persistence API)란?
- 자바 언어로 DB에 명령을 내리는 도구
- 데이터를 객체 지향적으로 관리할 수 있게 해준다.
- JPA의 핵심 도구로는 엔티티와 리파지터리가 있음
- 엔티티 : 자바 객체를 DB가 이해할 수 있게 만든 것으로, 이를 기반으로 테이블이 만들어짐.
- 리파지터리 : 엔티티가 DB 속 테이블에 저장 및 관리될 수 있게 하는 인터페이스
- DTO를 엔티티로 변환하기 위해 form 객체의 toEntity()라는 메서드를 호출해서 그 반환값을 클래스 타입의 클래스 엔티티에 저장
- @Entity란?
- JPA에서 제공하는 어노테이션
- 이 어노테이션이 붙은 클래스를 기반으로 DB에 테이블이 생성됨
- @Column이란?
- 필드가 DB에서 인식할 수 있게 하는 것. DB 테이블의 각 열과 연결 됨.
- @GeneratedValue란?
- 대푯값을 자동으로 생성
- CrudRepository<T, ID>란?
- CrudRepository라는 인터페이스를 상속받는 명령
- CrudRepository란?
- JPA에서 제공하는 인터페이스
- 이를 상속해 엔티티를 관리(생성, 조회, 수정, 삭제)할 수 있음
- 홑화살괄호(<>)를 붙이고 그 안에 관리 대상 엔티티의 클래스 타입과 관리대상 엔티티의 대표값을 넣어 제네릭 요소를 받음.
- @Autowired 어노테이션이란?
- 붙이면 스프링 부트가 미리 생성해 놓은 객체를 가져다가 연결해줌.
- 스프링 부트에서 제공하는 어노테이션
- 컨트롤러의 필드에 붙이면 스프링 부트가 만들어 놓은 객체를 가져와 주입. 이를 의존성 주입(DI)이라고 함
3.4 DB 데이터 조회하기
- spring.h2.console.enabled=true라고 application.properties에 넣으면 H2 DB에 웹 콘솔로 접근할 수 있도록 허용해줌
- 레코드란? 데이터는 테이블에 행 단위로 저장되는데 이 행 하나하나를 뜻함
'개인 공부 > BackEnd Study' 카테고리의 다른 글
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 5 - (0) | 2024.03.27 |
---|---|
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 4 - (0) | 2024.03.27 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 13 - (0) | 2024.03.24 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 12 - (0) | 2024.03.24 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 11 - (0) | 2024.03.22 |