집돌이 공대남 IT

JPA 프로그래밍 마스터하기: 초급부터 전문가까지 실습을 통한 학습(8) 본문

IT/웹개발

JPA 프로그래밍 마스터하기: 초급부터 전문가까지 실습을 통한 학습(8)

집공이 2023. 8. 21. 12:00

실전! JPA를 활용한 CRUD 연산 실습

안녕하세요! 공대남입니다.

이번 포스트에서는 JPA를 활용하여 데이터베이스의 CRUD(Create, Read, Update, Delete) 연산을 실습해보려고 합니다. 이 과정을 통해 JPA의 기본적인 활용법을 익히는 데 도움이 될 것입니다.

그럼 바로 시작해보겠습니다!

공부하는 공대남

개발 환경

  • JDK 1.8+
  • Maven
  • Spring Boot 2.x
  • JPA
  • H2 (인메모리 데이터베이스)

1. 프로젝트 설정

먼저, Spring Boot 프로젝트를 생성하겠습니다. 여기서는 Spring Initializr을 사용하여 프로젝트를 생성하겠습니다.

Spring Initializr에서 다음과 같이 설정하고 'Generate'를 클릭하여 프로젝트를 생성합니다.(혹시 Spring Initializer

  • Project: Maven Project
  • Language: Java
  • Spring Boot: 2.x
  • Project Metadata
    • Group: com.example
    • Artifact: jpa-crud
  • Dependencies: Spring Data JPA, H2 Database

생성된 프로젝트를 IDE에 Import하고 준비를 마치겠습니다.

2. 엔티티 클래스 작성

먼저, 엔티티 클래스를 작성해야 합니다. 여기서는 User라는 이름의 엔티티 클래스를 작성하겠습니다.

import javax.persistence.*;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    // getters and setters
}

3. 리포지토리 인터페이스 작성

엔티티 클래스를 작성한 후에는 JPA 리포지토리 인터페이스를 작성해야 합니다. 이 인터페이스는 Spring Data JPA에서 제공하는 JpaRepository 인터페이스를 확장해야 합니다.

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

4. CRUD 연산 실습

이제 JPA를 활용하여 CRUD 연산을 실습해보겠습니다.

  • 데이터 생성 (Create)
User user = new User();
user.setName("John Doe");
userRepository.save(user);
  • 데이터 조회 (Read)
User user = userRepository.findById(1L).orElse(null);
  • 데이터 수정 (Update)
User user = userRepository.findById(1L).orElse(null);
user.setName("Jane Doe");
userRepository.save(user);
  • 데이터 삭제 (Delete)
User user = userRepository.findById(1L).orElse(null);
userRepository.delete(user);

이렇게 JPA를 활용하여 CRUD 연산을 수행하는 것은 SQL 쿼리를 직접 작성하는 것보다 훨씬 간편하고 안전합니다. 이 실습을 통해 JPA의 기본적인 사용법을 익히는 데 도움이 되었기를 바랍니다! 다음 포스트에서는 JPA의 다른 기능에 대해 알아보도록 하겠습니다.

다음 시간에 뵙겠습니다!