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