2025. 1. 10. 00:31ㆍIT정보/초보자를 위한 IT 팁
Spring Boot 프로젝트에서 MyBatis와 Oracle을 연동하여 데이터베이스 CRUD 기능을 구현하는 방법을 설명합니다.
1. MyBatis 의존성 추가
pom.xml 파일에 다음과 같이 MyBatis와 Oracle JDBC 드라이버 의존성을 추가합니다.
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.8.0.0</version>
</dependency>
의존성을 추가한 후, Maven을 통해 프로젝트를 업데이트합니다
2. 데이터베이스 연결 설정
src/main/resources/application.properties 파일에 데이터베이스 연결 정보를 추가합니다:
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
mybatis.mapper-locations=classpath:mappers/*.xml
여기서
- spring.datasource.url에는 Oracle DB의 접속 URL을 입력합니다.
- spring.datasource.username과 spring.datasource.password에는 DB 사용자 이름과 비밀번호를 입력합니다.
- mybatis.mapper-locations는 MyBatis 매퍼 XML 파일의 경로를 지정합니다.
3. 매퍼 인터페이스 생성
src/main/java 디렉토리에 mapper 패키지를 생성하고, Java 인터페이스 파일을 추가합니다.
예 : UserMapper.java
package com.example.springbootdemo.mapper;
import com.example.springbootdemo.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users")
List<User> findAll();
}
- @Mapper 어노테이션을 사용하여 MyBatis 매퍼로 지정합니다.
- 간단한 SQL 쿼리를 실행하는 메서드를 정의합니다.
4. 도메인 모델 클래스 생성
src/main/java 디렉토리에 model 패키지를 생성하고, 도메인 모델 클래스를 추가합니다.
예 : User.java
package com.example.springbootdemo.model;
public class User {
private int id;
private String name;
private String email;
// Getter와 Setter
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
이 클래스는 데이터베이스의 users 테이블과 매핑됩니다.
5. 매퍼 XML 파일 작성
src/main/resources/mappers 디렉토리에 매퍼 XML 파일을 생성합니다.
예 : UserMapper.xml
http://mybatis.org/dtd/mybatis-3-mapper.dtd">
SELECT * FROM users
이 XML 파일은 UserMapper 인터페이스와 연결되며, SQL 쿼리를 정의합니다.
6. 서비스 클래스 생성
src/main/java 디렉토리에 service 패키지를 생성하고, 서비스 클래스를 추가합니다.
예 : UserService.java
package com.example.springbootdemo.service;
import com.example.springbootdemo.mapper.UserMapper;
import com.example.springbootdemo.model.User;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
private final UserMapper userMapper;
public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}
public List<User> getAllUsers() {
return userMapper.findAll();
}
}
- @Service 어노테이션을 사용하여 서비스 클래스를 선언합니다.
- UserMapper를 주입받아 데이터베이스 작업을 수행합니다.
7. 컨트롤러 클래스 생성
src/main/java 디렉토리에 controller 패키지를 생성하고, 컨트롤러 클래스를 추가합니다.
예 : UserController.java
package com.example.springbootdemo.controller;
import com.example.springbootdemo.model.User;
import com.example.springbootdemo.service.UserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping("/users")
public List<User> getUsers() {
return userService.getAllUsers();
}
}
- @RestController를 사용하여 REST API를 구현합니다.
- /users 엔드포인트를 통해 모든 사용자 데이터를 반환합니다.
8. 테스트 및 확인
- 애플리케이션을 실행합니다.
- 웹 브라우저 또는 Postman에서 http://localhost:8080/users에 접속하여 데이터베이스에서 반환된 사용자 데이터를 확인합니다.
이 단계에서는 MyBatis와 Oracle을 연동하여 데이터를 읽어오는 기본 구조를 구축했습니다.
다음글 에서는 Spring Security를 이용한 로그인 기능 구현을 알아 보겠습니다.
'IT정보 > 초보자를 위한 IT 팁' 카테고리의 다른 글
Spring Boot 프로젝트 (1단계 - 생성 및 환경 설정) (2) | 2025.01.10 |
---|---|
PostgreSQL 기능, 장점 및 설치 가이드 (4) | 2025.01.07 |
Spring Batch를 이용한 대용량 처리 (1) | 2025.01.06 |
꾸준히 사용하는 오라클(Oracle) 함수 정리 (1) | 2025.01.06 |
Spring Boot에서 비동기 처리 (Asynchronous Processing) (2) | 2025.01.03 |