Springboot

오라클 연동 및 예제

수아파파's 2023. 9. 18. 14:01
반응형

오라클과 Spring Boot를 연동하는 방법은 다음과 같습니다.

 

1. Dependency 추가
   - Maven을 사용하는 경우, pom.xml 파일에 아래의 의존성을 추가합니다.

 <dependencies>
       <!-- Spring JDBC -->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-jdbc</artifactId>
       </dependency>
   
       <!-- Oracle JDBC Driver -->
       <dependency>
           <groupId>com.oracle.database.jdbc</groupId>
           <artifactId>ojdbc8</artifactId>
           <version>19.11.0.0</version>
       </dependency>
   </dependencies>

2. application.properties 설정
   - Spring Boot 애플리케이션의 resources 디렉토리에 있는 application.properties 파일에 다음과 같이 Oracle 데이터베이스 연결 정보를 설정합니다.

 # Oracle Connection
   spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
   spring.datasource.username=username
   spring.datasource.password=password
   spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

- 위의 설정에서 `jdbc:oracle:thin:@localhost:1521:xe` 부분은 연결하려는 Oracle 데이터베이스의 주소입니다. 이를 자신의 데이터베이스에 맞게 변경해야 합니다.

 

3. Repository 작성
   - Spring Data JPA를 사용하여 데이터베이스 작업을 수행하는 Repository를 작성합니다. 예를 들어, User 테이블에 접근하는 UserRepository를 다음과 같이 작성할 수 있습니다.

import org.springframework.data.jpa.repository.JpaRepository;
   
   public interface UserRepository extends JpaRepository<User, Long> {
       // 사용자 이름으로 사용자 찾기
       User findByUsername(String username);
   }

- `JpaRepository`는 Spring Data JPA에서 제공하는 기본적인 CRUD 기능을 포함한 Repository 인터페이스입니다. `User` 엔티티의 타입 매개변수는 엔티티 클래스의 타입을 지정하고, `Long`은 해당 엔티티의 ID 타입을 지정합니다.

 

import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.stereotype.Service;
   
   @Service
   public class UserService {
       private final UserRepository userRepository;
   
       @Autowired
       public UserService(UserRepository userRepository) {
           this.userRepository = userRepository;
       }
   
       public User registerUser(User user) {
           // 사용자 등록 로직
           return userRepository.save(user);
       }
   }

  - `@Service` 애너테이션은 해당 클래스를 Spring의 Bean으로 등록합니다. `UserRepository`는 Spring에 의해 자동으로 주입됩니다.

 

5. Controller 작성
   - Service를 호출하여 웹 요청을 처리하는 Controller를 작성합니다. 예를 들어, 사용자 등록을 처리하는 UserController를 다음과 같이 작성할 수 있습니다.

 import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.web.bind.annotation.PostMapping;
   import org.springframework.web.bind.annotation.RequestBody;
   import org.springframework.web.bind.annotation.RestController;
   
   @RestController
   public class UserController {
       private final UserService userService;
   
       @Autowired
       public UserController(UserService userService) {
           this.userService = userService;
       }
   
       @PostMapping("/register")
       public User registerUser(@RequestBody User user) {
           return userService.registerUser(user);
       }
   }

   - `@RestController` 애너테이션은 해당 클래스를 RESTful 웹 서비스의 컨트롤러로 정의합니다. `@PostMapping` 애너테이션은 POST 요청을 처리하는 메소드임을 나타냅니다.

 

6. 예제 실행
   - 위의 예제 코드를 작성하고 Spring Boot 애플리케이션을 실행하면, `/register` 엔드포인트로 POST 요청을 보낼 수 있고, 해당 요청은 핸들러 메소드인 `registerUser`를 실행합니다. 이후 UserService의 `registerUser` 메소드가 호출되어 데이터베이스에 사용자가 등록됩니다.

이제 Oracle 데이터베이스와 Spring Boot를 연동하여 데이터베이스 작업을 수행할 수 있는 환경이 구성되었습니다. 이를 기반으로 필요한 데이터베이스 작업을 진행하면 됩니다.

 

 

반응형

'Springboot' 카테고리의 다른 글

JPA 에 대한 설명 및 예제  (0) 2023.09.18
ORM이란  (0) 2023.09.18
Springboot - RabbitMQ 연동  (0) 2023.09.18
MariaDB 연동 예제  (0) 2023.09.17
로깅 라이브러리 @Slf4J 예제  (0) 2023.09.17