일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터베이스
- 리눅스
- JVM
- 유닉스
- 자바
- Java
- Database
- spring data jpa
- chatGPT's answer
- 자바암호
- 인프라
- write by chatGPT
- 소프트웨어공학
- oracle
- 웹 크롤링
- GPT-4's answer
- 고전역학
- 시스템
- kotlin
- 코틀린
- write by GPT-4
- python
- spring integration
- 자바네트워크
- jpa
- 파이썬
- android
- NIO
- flet
- 역학
- Today
- Total
Akashic Records
JPA 연동하기 본문
Java Persistence API (JPA)는 Java에서 데이터베이스를 다루기 위한 인터페이스를 제공합니다. Spring Boot와 함께 사용되며, JPA의 구현체로는 Hibernate, EclipseLink 등이 있습니다. 이 예제에서는 Spring Boot와 Hibernate를 사용하여 간단한 데이터베이스 작업을 수행하는 방법을 보여드립니다.
먼저, 필요한 의존성을 추가합니다. Gradle을 사용하는 경우, build.gradle.kts
파일에 다음 항목을 추가해야 합니다.
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("com.h2database:h2")
다음으로, 엔티티 클래스를 정의합니다. @Entity
어노테이션이 붙은 클래스는 JPA가 관리하는 테이블의 한 행을 나타냅니다. 아래는 User
라는 이름의 엔티티를 정의하는 예시입니다.
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id
@Entity
data class User(
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
var name: String,
var email: String
)
그 다음, User
엔티티에 대한 Repository를 정의합니다. JpaRepository
인터페이스를 상속받는 인터페이스를 생성하면, Spring Data JPA가 자동으로 구현체를 생성해줍니다.
import org.springframework.data.jpa.repository.JpaRepository
interface UserRepository : JpaRepository<User, Long> {
fun findByName(name: String): List<User>
}
마지막으로, UserRepository
를 사용하여 데이터베이스에 접근하는 예시입니다.
import org.springframework.boot.CommandLineRunner
import org.springframework.stereotype.Component
@Component
class DatabaseInitializer(private val userRepository: UserRepository) : CommandLineRunner {
override fun run(vararg args: String?) {
val user = User(name = "John Doe", email = "john.doe@example.com")
userRepository.save(user)
val users = userRepository.findByName("John Doe")
users.forEach { println("Found user: $it") }
}
}
위의 코드는 Spring Boot 애플리케이션 시작 시 DatabaseInitializer
의 run
메서드를 실행합니다. "John Doe"라는 이름과 이메일 주소를 가진 사용자를 생성하여 저장하고, 그 사용자를 검색하여 출력합니다.
이러한 방식으로, JPA와 Spring Data를 사용하면 복잡한 SQL 쿼리 없이도 데이터베이스 작업을 수행할 수 있습니다. 복잡한 쿼리가 필요한 경우에도 Spring Data JPA는 @Query 어노테이션을 이용한 커스텀 쿼리를 지원합니다.
'Kotlin for Beginners' 카테고리의 다른 글
Kotlin과 다른 언어 비교 (0) | 2023.06.02 |
---|---|
MyBatis 연동하기 (0) | 2023.06.02 |
데이터베이스 연동하기 (0) | 2023.06.02 |
웹 서버 개발을 위한 Ktor 또는 Spring Boot (0) | 2023.06.02 |
안드로이드 개발을 위한 Kotlin (0) | 2023.06.02 |