3.1 폼 데이터란
폼데이터
html 요소인 <form> 태그에 실려 전송되는 데이터
Data Transfer Object (DTO)
<form> 태그에 실어 보내는 데이터로 서버의 컨트롤러가 객체에 담아 받는 것
이때, DTO로 받은 데이터는 최종적으로 데이터베이스에 저장
3.2 폼 데이터를 DTO로 받기
뷰 페이지
: 뷰 템플릿 페이지
controller
articles 파일을 생성한 후 파일 경로까지 포함
<form> 태그 정보 추가
- action: url 연결 주소 작성
- method: 속성값으로 get, post 설정 가능
폼 데이터 받기
action과 method 속성 정보를 설정하는 역할로 컨트롤러가 정보를 조합해 사용자가 전송한 폼 데이터를 받도록 설정
@createArticle( ) 메서드 추가 후 return ""
@postMapping("/articles/creat") 사용해 post 방식으로 전송
DTO 만들기
: 폼 데이터를 담는 객체를 만드는 과정
폼 데이터 담기
DTO에 폼 데이터를 담는 것으로 ArticleController 코드 수정 필요
이때, 폼에서 전송한 데이터는 createArticle( )의 매개 변수로 받으며 ArticleForm 타입의 form 객체를 매개변수로 선언
@PostMapping("/articles/create")
public String createArticles(ArticleForm form){
System.out.println(form.toString());
return "";
}
: 폼에서 전송한 데이터가 담겼는지 유무를 확인하는 출력문
DTO 필드 연결
title, content에 값을 넣기 위해 new.mustache 입력 폼에 필드명 지정 필요
3.3 DTO를 데이터베이스에 저장하기
데이터베이스
데이터를 행과 열로 구성된 테이블에 저장하여 관리하며 해당 교재에서는 H2 데이터베이스를 사용
단, DB에 데이터를 기록하고자 할 때는 JPA를 사용
| JPA: 자바 언어로 DB에 명령을 내리는 도구로 데이터를 객체 지향적으로 관리할 수 있도록 설정
- Entity: JPA의 도구, 자바 객체를 DB가 이해할 수 있도록 만든 것으로 테이블을 만드는 역할
- Repository: entity가 DB 속 테이블에 저장 및 관리될 수 있도록 하는 인터페이스
Entity 변환
DTO를 Entity로 변환하기 위해서는 form 객체를 toEntity( ) 메서드로 호출하며 반환값을 Article 타입의 article entity에 저장
Article article = form.toEntity();
Article 클래스
toEntity( ) 메서드
DTO인 form 객체를 Entity 객체로 변환하는 역할
public Article toEntity() {
return new Article(null, title, content);
}
CrudRepository
생성, 조회, 수정, 삭제 등 entity 관리
- Article: Entity의 클래스 타입
- Long: 엔티티의 대푯값 타입
@Autowired
미리 생성해놓은 객체를 가지고와 연결해주는 역할로 의존성주입
'백엔드 > 스프링 부트 3_자바 백엔드' 카테고리의 다른 글
9. CRUD와 SQL 쿼리 종합 (0) | 2025.01.04 |
---|---|
5. 게시글 읽기 (1) | 2024.12.21 |
4. 롬복과 리팩터링 (0) | 2024.12.21 |
2. MVC 패턴 이해와 실습 (0) | 2024.11.30 |
1. 스프링 부트 시작하기 (0) | 2024.11.30 |