[java] MyBatis와 Spring의 통합 방법
MyBatis와 Spring을 통합하여 사용하는 방법에 대해 알아보겠습니다.
1. MyBatis와 Spring 프로젝트 설정
먼저, Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 MyBatis와 Spring의 의존성을 프로젝트에 추가합니다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
2. 데이터베이스 설정
Spring 프로젝트의 applicationContext.xml
파일에서 데이터베이스 연결을 설정합니다.
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mydatabase" />
<property name="username" value="username" />
<property name="password" value="password" />
</bean>
3. MyBatis 설정
MyBatis의 SqlSessionFactoryBean
과 SqlSessionTemplate
을 Spring 프로젝트에서 설정합니다.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:mybatis/mapper/*.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory" />
</bean>
4. DAO 및 서비스 구현
MyBatis와 Spring을 통합하여 DAO(Data Access Object) 및 Service 클래스를 구현합니다.
@Repository
public class UserDAO {
@Autowired
private SqlSession sqlSession;
public User getUserById(int userId){
return sqlSession.selectOne("UserMapper.getUserById", userId);
}
}
@Service
public class UserService {
@Autowired
private UserDAO userDAO;
public User getUserById(int userId){
return userDAO.getUserById(userId);
}
}
5. 설정 검증
Spring을 시작하여 MyBatis와의 통합이 올바르게 동작하는지 확인합니다.
이제 MyBatis와 Spring을 통합하여 사용하는 방법에 대해 간략히 알아보았습니다. 이를 통해 데이터베이스와의 효과적인 상호작용을 위한 환경을 구축할 수 있습니다.
위 내용은 MyBatis 3.5.7과 Spring 5.3.9를 기준으로 작성되었습니다.
참고 자료: MyBatis 공식 문서, Spring 공식 문서