스프링부트 db 데이터 가져오기

먼저, 스프링부트 프로젝트를 만들고 의존성을 추가해야 합니다. build.gradle 파일에 다음과 같이 의존성을 추가합니다:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'com.h2database:h2'
}

위의 의존성은 스프링부트의 JPA(Java Persistence API)와 웹 모듈, 그리고 H2 데이터베이스를 사용하도록 설정합니다. H2는 임베디드 데이터베이스로 사용되어 간단하게 테스트할 수 있습니다.

다음으로, 데이터베이스와의 연결 설정을 application.properties 파일에 추가합니다:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

위의 설정은 H2 데이터베이스에 접속하기 위한 URL과 사용자 이름, 비밀번호를 정의합니다.

그리고 테이블과 엔터티 클래스를 생성합니다. 예를 들어, Person 테이블과 Person 엔터티 클래스를 생성하겠습니다. Person 엔터티 클래스는 @Entity 어노테이션으로 테이블과 매핑됨을 나타내고, @Id 어노테이션으로 주요 키를 정의합니다.

@Entity
@Table(name = "person")
public class Person {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    private String name;
    
    // Getters and setters
    
}

이제 데이터베이스에서 데이터를 가져오기 위해 PersonRepository 인터페이스를 생성합니다. 스프링 데이터 JPA가 자동으로 기본 쿼리 메서드를 구현해줍니다.

public interface PersonRepository extends JpaRepository<Person, Long> {
    
    // Additional custom query methods
    
}

마지막으로, 가져온 데이터를 사용하는 서비스나 컨트롤러를 작성할 수 있습니다. 예를 들어, PersonService 클래스를 생성하여 PersonRepository를 주입받고, 데이터를 가져오는 메서드를 정의할 수 있습니다.

@Service
public class PersonService {
    
    @Autowired
    private PersonRepository personRepository;
    
    public List<Person> getAllPeople() {
        return personRepository.findAll();
    }
    
    // Additional methods
    
}

위와 같이 getAllPeople 메서드를 통해 데이터베이스에서 모든 사람 데이터를 가져올 수 있습니다.

이제, 위에서 작성한 코드를 실행하여 스프링부트 애플리케이션을 실행하고, PersonService 클래스의 getAllPeople 메서드를 호출하여 데이터베이스에서 데이터를 가져올 수 있습니다.

키워드: #스프링부트 #데이터베이스