먼저, 스프링부트 프로젝트를 만들고 의존성을 추가해야 합니다. 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
메서드를 호출하여 데이터베이스에서 데이터를 가져올 수 있습니다.
키워드: #스프링부트 #데이터베이스