<목차>
1. Environment
2. Sources
3. Test
Springboot - Basic JPA CRUD API Example
JPA를 바로 사용하기 보단, 동작 원리에 대해 알고 사용하는 것이 도움이 된다.
JPA 관련 포스팅
[Spring Boot] JPA - 1. ORM 과 JPA
1. ORM2. JPA & Hibernate [ORM]ORM은 Object Relational Mapping 의 줄임말로, 객체 관계 매핑을 의미한다.객체지향 언어에서 의미하는 객체와 RDB의 테이블을 자동으로 매핑하는 방법으로, 자바에서는 클래스와
jh4dev.tistory.com
[Spring Boot] JPA - 2. Entity
1. Entity 엔티티2. Entity Manager 엔티티 매니저3. Persistence Context 영속성 컨텍스트 [Entity]Entity(엔티티)는 ORM 의 핵심 개념으로, DB 테이블과 매핑되는 JAVA 클래스 이다.객체 지향적인 방식으로 DB를 다
jh4dev.tistory.com
[Spring Boot] JPA - 3. Entity & Repository
지난 포스팅에서 Entity / Entity Manager / Persistence Context 의 역할과 관계에 대해 알아보았다.이번 포스팅에서는 실제 Entity 클래스를 생성하는 방법과, Spring Data JPA 를 사용하기에, Entity Manager 를 사용
jh4dev.tistory.com
[Environment]
- IDE : IntelliJ
- Spring Boot
- version 2.7.18
- maven
- JDK 11
[Sources]
- DAO 계층을 활용한 샘플이다.
- DataAccessObject
- 비즈니스 로직의 동작 과정에서 데이터를 조작하는 기능을 수행한다.
- 다만, JPA에서 DAO의 개념은 Repository가 대체하고 있다.
- JPA를 사용하는 규모가 작은 프로젝트에서는 별도의 DAO를 설계하지 않고, 서비스 레이어에서 DB에 접근하여 구현하기도 한다.
- 아래 예시에서는, DAO 를 Service Layer 와 Respository 의 중간 계층을 구성하는 역할로 사용
- 각 계층 간, 객체는 아래와 같이 주고 받도록 설계
- 단, 위 내용과 마찬가지로, 정해진 방법은 없으며 상황에 따라 다르다.
https://github.com/jh4dev/spring-boot-study/tree/main/jpa
spring-boot-study/jpa at main · jh4dev/spring-boot-study
스프링 부트 스터디. Contribute to jh4dev/spring-boot-study development by creating an account on GitHub.
github.com
[Test]
Swagger with springdoc
등록 <POST>
- 새로운 제품을 등록해보자.
PK가 될 number 필드는, Entity에 자동 생성되도록 하였으므로 Request로 보내지 않는다. - Request
- { "name": "테스트 제품1", "price": 10000, "stock": 20 }
- Response
- { "number": 1, "name": "테스트 제품1", "price": 10000, "stock": 20 }
조회 <GET>
- 등록 API에서 생성된 number 필드를 인자로 호출
- Request URL : localhost:8080/product?number=1
수정 <PUT>
- 앞서 생성한 1번 제품의 제품명을 변경
- Request
- {"number": 1, "name": "제품명 변경"}
- Response
- { "number": 1, "name": "제품명 변경", "price": 10000, "stock": 20 }
삭제 <DELETE>
- 생성되어있는 1번 제품을 삭제 처리
'Spring & Spring boot' 카테고리의 다른 글
[Springboot] springdoc 을 사용하여 Swagger 설정하기 - 2 (0) | 2024.08.04 |
---|---|
[Springboot] springdoc 을 사용하여 Swagger 설정하기 - 1 (0) | 2024.08.04 |
[Spring Boot] JPA - 3. Entity & Repository (0) | 2024.07.26 |
[Spring Boot] JPA - 2. Entity (0) | 2024.07.25 |
[Spring Boot] JPA - 1. ORM 과 JPA (0) | 2024.07.25 |