[java] 자바 스프링 부트 JPA 사용 방법
자바 개발자들은 스프링 부트 프레임워크를 통해 JPA(Java Persistence API)를 사용하여 데이터베이스와의 상호 작용을 간편하게 합니다. JPA는 객체-관계 매핑(ORM)을 제공하여 데이터베이스 테이블과 자바 객체 간의 매핑을 지원합니다.
1. 의존성 추가
Maven 또는 Gradle 프로젝트에서 pom.xml
또는 build.gradle
파일에 다음과 같이 스프링 부트 JPA 의존성을 추가합니다.
Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Gradle:
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
2. 데이터베이스 설정
application.properties
또는 application.yml
파일을 사용하여 데이터베이스 연결 정보를 설정합니다.
application.properties
:
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
application.yml
:
spring:
datasource:
url: jdbc:mysql://localhost:3306/db_example
username: springuser
password: ThePassword
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
database-platform: org.hibernate.dialect.MySQL5Dialect
hibernate:
ddl-auto: update
3. 엔티티 클래스 작성
데이터베이스 테이블과 매핑될 엔티티 클래스를 작성합니다. 여기서는 간단한 예제로 User
엔티티를 생성합니다.
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String email;
// getters and setters
}
4. 레포지토리 인터페이스 작성
JpaRepository 인터페이스를 확장한 인터페이스를 작성하여 데이터베이스 작업을 수행할 수 있습니다.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
// custom query methods can be defined here
}
5. 서비스 및 컨트롤러 작성
필요에 따라 서비스 및 컨트롤러를 작성하여 비즈니스 로직 및 API 엔드포인트를 구현합니다.
이렇게 스프링 부트 JPA를 사용하여 데이터베이스와의 상호 작용을 구현할 수 있습니다. JPA는 많은 일상적인 데이터베이스 작업을 추상화하여 개발자들이 간편하게 데이터베이스를 다룰 수 있도록 도와줍니다.
참고 문헌:
이상으로 JPA를 사용한 스프링 부트 개발 방법에 대해 알아보았습니다.