spring boot db 데이터 가져오기

Spring Boot는 자바 개발자들이 웹 애플리케이션을 쉽고 빠르게 개발할 수 있는 프레임워크입니다. 이번 블로그 포스트에서는 Spring Boot를 사용하여 데이터베이스에서 데이터를 가져오는 방법에 대해 알아보겠습니다.

Spring Boot에서 데이터베이스 연결 설정하기

Spring Boot에서 데이터베이스에 접근하기 위해서는 데이터베이스 연결 설정이 필요합니다. application.properties 파일을 통해 데이터베이스의 정보를 설정할 수 있습니다. 아래는 MySQL 데이터베이스에 연결하는 예제입니다.

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

데이터베이스 테이블과 엔티티 클래스 생성하기

데이터베이스에서 가져올 데이터를 담을 엔티티 클래스를 생성해야 합니다. 이 클래스는 데이터베이스 테이블과 매핑됩니다. 아래는 사용자 정보를 저장하는 테이블과 엔티티 클래스의 예제입니다.

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100),
  email VARCHAR(100)
);
@Entity
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    private String name;

    private String email;

    // getters and setters
}

JpaRepository를 이용하여 데이터 조회하기

Spring Boot에서는 JpaRepository 인터페이스를 사용하여 데이터베이스 조회 작업을 쉽게 수행할 수 있습니다. JpaRepository는 기본적인 CRUD 작업을 지원하며, 쿼리 메서드를 사용하여 데이터를 조회할 수도 있습니다.

public interface UserRepository extends JpaRepository<User, Integer> {
    
    List<User> findByName(String name);

    List<User> findByEmail(String email);
}

위의 예제에서는 findByNamefindByEmail 메서드를 사용하여 이름 또는 이메일을 기준으로 사용자 데이터를 조회할 수 있습니다.

데이터 조회 결과 처리하기

다음은 Spring Boot에서 데이터 조회 결과를 처리하는 간단한 예제입니다.

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    @GetMapping("/users/{id}")
    public Optional<User> getUserById(@PathVariable int id) {
        return userRepository.findById(id);
    }
}

위의 예제에서는 /users 엔드포인트를 통해 모든 사용자 데이터를 조회하고, /users/{id} 엔드포인트를 통해 특정 사용자 데이터를 조회합니다.

마무리

Spring Boot를 사용하여 데이터베이스에서 데이터를 가져오는 방법을 알아보았습니다. 데이터베이스 연결 설정, 엔티티 클래스 생성, JpaRepository를 이용한 데이터 조회, 그리고 데이터 조회 결과 처리에 대해 알아보았습니다. 이제 여러분은 Spring Boot를 사용하여 간편하게 데이터베이스에서 데이터를 가져올 수 있습니다.

#SpringBoot #데이터베이스조회