Springboot

MariaDB 연동 예제

수아파파's 2023. 9. 17. 20:06
반응형

아래는 스프링 부트에서 MariaDB를 연동하는 예제입니다.

 

1. 의존성 추가 pom.xml 파일에 아래의 의존성을 추가합니다.

 

<dependencies>
  ...
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
  <dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <scope>runtime</scope>
  </dependency>
  ...
</dependencies>

2. 데이터베이스 설정 application.properties 파일에 아래와 같이 데이터베이스 연결 정보를 설정합니다.

```properties
spring.datasource.url=jdbc:mariadb://localhost:3306/mydatabase
spring.datasource.username=myusername
spring.datasource.password=mypassword
spring.jpa.show-sql=true
```

`mydatabase`, `myusername`, `mypassword`는 실제 데이터베이스 이름, 사용자 이름, 비밀번호로 변경해야 합니다.

3. Entity 클래스 작성 엔티티 클래스를 작성합니다. 예를 들어, `User`라는 엔티티 클래스를 작성해보겠습니다.

 

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    // 생성자, getter, setter, toString 등 필요한 메소드를 작성합니다.

}

4. Repository 인터페이스 작성 `UserRepository`라는 리포지토리 인터페이스를 작성합니다. 이 인터페이스는 JpaRepository를 상속받아 기본적인 데이터베이스 연산을 제공합니다.

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

}

5. 서비스 클래스 작성 `UserService`라는 서비스 클래스를 작성합니다. 이 클래스에서는 Repository를 주입받아 비즈니스 로직을 구현합니다. 

 

@Service
public class UserService {
    private final UserRepository userRepository;

    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    public User getUserById(Long id) {
        return userRepository.findById(id).orElse(null);
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }

    public void deleteUser(Long id) {
        userRepository.deleteById(id);
    }

    // 기타 비즈니스 로직을 구현합니다.

}

6. 컨트롤러 작성 마지막으로 컨트롤러를 작성하여 웹 요청을 처리합니다. `

 

@RestController
@RequestMapping("/users")
public class UserController {
    private final UserService userService;

    public UserController(UserService userService) {
        this.userService = userService;
    }

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping
    public User saveUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }

    // 기타 웹 요청을 처리하는 메소드를 작성합니다.

}

 

이제 스프링 부트 애플리케이션을 실행하면 MariaDB와의 연동이 완료됩니다. 웹 요청에 따라 데이터베이스에 접근하여 CRUD 연산을 수행할 수 있습니다.

반응형

'Springboot' 카테고리의 다른 글

오라클 연동 및 예제  (0) 2023.09.18
Springboot - RabbitMQ 연동  (0) 2023.09.18
로깅 라이브러리 @Slf4J 예제  (0) 2023.09.17
@ResponseEntity를 활용한 PUT 메서드 예제  (0) 2023.09.17
DELETE API 생성  (0) 2023.09.17