1) 폼 데이터를 DTO로 받기
폼 데이터(form data)
: HTML 요소인 <form> 태그에 실려 전송되는 데이터
➔ 데이터를 전송할 때 어디로, 어떻게 보낼지 등을 적어야 한다.
<form> 태그에 실어 보낸 데이터 - 서버의 컨트롤러 ➔ 객체에 담는다.
이 때의 객체 = DTO(Data Transfer Object) ➔ 최종적으로 DB에 저장된다.
(1) 입력 폼 만들기
1. 파일 생성

2. 코드 작성

3. 컨트롤러 생성

(2) 폼 데이터 전송하기
폼 속성
- action: URL 연결 주소 적어 해당 페이지로 데이터를 보낸다.
- method: get/post
(3) 폼 데이터 받기

- 기존 controller에 @PostMapping 추가(post 방식으로 받는 경우)
(4) DTO 만들기
1. 파일 생성 위치

2. 코드 작성

- 제목, 내용 2개의 값을 받아올 거라 필드도 2개
- 생성자 및 메서드 추가
생성자/메서드 추가하기
: 코드 내 행 우클릭 - [Generate] - Constructor / 메서드 선택
(5) 폼 데이터를 DTO에 담기

- 컨트롤러 안 createArticle() 메서드의 매개변수 선언
- 메서드 호출
(6) 입력 폼과 DTO 필드 연결하기
- 입력 폼의 <input>에 name속성값 추가하기
<input ~ name="title>
<textarea~ name="content"></textarea>
(7) 출력 확인


2) DTO를 데이터베이스에 저장하기
JPA(Java Persistence API)
: 자바 언어로 DB에 명령을 내리는 도구
- 엔티티: 자바 객체를 DB가 이해할 수 있게 만든 것
- 리파지터리: 엔티티가 DB 속 테이블에 저장 및 관리될 수 있게 하는 인터페이스
(1) DTO를 엔티티로 변환하기
1. 엔티티 클래스 선언

2. Article 객체의 생성 및 초기화


- 생성 위치 및 코드
3. toEntity() 메서드 추가하기

(2) 리파지터리로 엔티티를 DB에 저장하기
1. 컨트롤러에 선언

2. 인터페이스 생성


- 파일 생성 위치
- 코드 작성
CrudRepository 인터페이스 상속
- CrudRepository가 제공하는 기능을 별도 정의 없이 그대로 사용할 수 있다.
+ 객체 주입하기

의존성 주입(DI, Dependency Injection)
: 스프링 부트가 미리 생성해 놓은 라파지터리 객체 주입
➔ @Autowired
(3) 데이터 저장 확인하기
1. 출력을 위한 코드 수정

- 데이터 저장 확인을 위해 toString() 메서드를 print 한다.
2. 출력 테스트


3) DB 데이터 조회하기
H2 DB 접속하기
1. application.properties 수정
위치: src > main > resources > application.properties
'spring.h2.console.enabled=true' 작성
2. 아래 웹브라우저 접속
URL: localhost:8080/h2-console
(8080 = port #)

- JDBC URL 값을 다시 넣어줘야 한다.
인텔리제이의 [RUN] 탭 - jdbc 검색- 검색 결과의 주소 복사 - 붙여넣기
주소 예시) jdbc: h2 ~
- [connect] 클릭
3. 입력 후 select문으로 확인

'[CODE] > Spring Boot' 카테고리의 다른 글
| [Spring Boot] 3. 롬복과 리팩터링 (0) | 2026.05.29 |
|---|---|
| [Spring Boot] 프로젝트 파일 구조 이해하기 (0) | 2026.05.18 |
| [Spring Boot] 1. 스프링 부트 개요 - 시작, MVC 패턴 (0) | 2026.05.03 |