Springboot

Springboot Mybatis 사용 방법

수아파파's 2023. 9. 20. 12:57
반응형

1. 의존성 추가


스프링 부트 프로젝트에서 MyBatis를 사용하려면 pom.xml 파일에 MyBatis와 관련된 의존성을 추가합니다. 
아래는 Maven을 사용하는 경우의 예시입니다.
 Gradle을 사용하는 경우 Gradle 스크립트에 의존성을 추가해야 합니다.

 

<!-- MyBatis 관련 의존성 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version> <!-- 최신 버전 사용을 권장합니다. -->
</dependency>

 

2. 데이터베이스 설정


`application.properties` 또는 `application.yml` 파일을 사용하여 데이터베이스 연결 정보를 설정합니다. 
아래는 `application.properties` 파일을 사용한 예시입니다.

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

 

3. MyBatis 설정 파일 생성


MyBatis의 설정을 정의하는 XML 파일을 생성합니다. 
예를 들어, mybatis-config.xml 파일을 만들고 MyBatis 설정을 정의합니다.

 

<!-- mybatis-config.xml -->
<configuration>
    <settings>
        <!-- MyBatis 설정 옵션들 -->
    </settings>
</configuration>

 

4. 매퍼 인터페이스 생성


MyBatis 매퍼 인터페이스를 생성하고 SQL 쿼리를 정의합니다. 
매퍼 인터페이스는 SQL 쿼리를 자바 메서드로 매핑하는 역할을 합니다. 예를 들어:

 

// UserMapper.java
import java.util.List;

public interface UserMapper {
    List<User> getAllUsers();
    User getUserById(Long id);
    void insertUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
}

 

5. MyBatis MapperScan 설정


스프링 부트 애플리케이션 클래스에 @MapperScan 어노테이션을 사용하여 매퍼 인터페이스를 스캔하고

MyBatis와 연결합니다.

 

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.mapper") // 매퍼 인터페이스가 위치한 패키지명을 지정합니다.
public class MybatisApplication {
    public static void main(String[] args) {
        SpringApplication.run(MybatisApplication.class, args);
    }
}

 

6. 서비스 및 컨트롤러 생성


MyBatis를 사용하여 데이터베이스와 상호작용하는 서비스와 컨트롤러를 생성합니다. 
서비스에서 매퍼 인터페이스를 주입받고 해당 메서드를 호출하여 데이터베이스 작업을 수행합니다.

 

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    private final UserMapper userMapper;

    @Autowired
    public UserService(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    // 서비스 메서드 구현
}

 


7. 애플리케이션 실행


스프링 부트 애플리케이션을 실행하고 MyBatis를 통해 데이터베이스와 상호작용할 수 있습니다.

이것은 스프링 부트와 MyBatis를 사용하여 데이터베이스와 상호작용하는 기본적인 방법입니다. 
물론 실제 애플리케이션에서는 더 복잡한 쿼리와 기능을 구현할 것이며, 
더 많은 설정 및 보안 고려 사항이 필요할 수 있습니다. 
하지만 이것은 기본적인 구성 및 동작 방식을 이해하는 데 도움이 될 것입니다. 
나머지 내용과 더 자세한 예제 코드는 위의 참고 소스에서 확인할 수 있습니다.

 

반응형