반응형
MyBatis Spring 기본 설정 가이드
1. SqlSessionFactory 설정
SqlSessionFactory는 MyBatis의 핵심 컴포넌트로, 데이터베이스 연결과 SQL 실행을 관리합니다.
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:/mapper/**/*.xml" />
<!-- 선택적 설정 추가 -->
<property name="configLocation" value="classpath:/mybatis-config.xml" />
<property name="typeAliasesPackage" value="your.package.domain" />
</bean>
주요 속성 설명:
- dataSource: 데이터베이스 연결 정보를 담고 있는 빈을 참조합니다
- mapperLocations: SQL 매퍼 파일들의 위치를 지정합니다
- configLocation: MyBatis 설정 파일의 위치를 지정합니다
- typeAliasesPackage: 도메인 객체들의 패키지를 지정하여 별칭을 자동으로 생성합니다
2. SqlSessionTemplate 설정
SqlSessionTemplate은 MyBatis의 SqlSession을 스프링과 연동하기 위한 핵심 클래스입니다. 스레드 안전하며 트랜잭션 관리를 자동으로 처리합니다.
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSession"/>
</bean>
3. 매퍼 스캐닝 설정
매퍼 인터페이스를 자동으로 스캔하고 빈으로 등록하기 위한 설정입니다.
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="your.package.mapper" />
<!-- 선택적 설정 추가 -->
<property name="annotationClass" value="org.springframework.stereotype.Repository" />
<property name="sqlSessionFactoryBeanName" value="sqlSession" />
</bean>
주요 속성 설명:
- basePackage: 매퍼 인터페이스들이 위치한 패키지를 지정합니다
- annotationClass: 스캔할 매퍼 인터페이스에 필요한 애노테이션을 지정합니다
- sqlSessionFactoryBeanName: 사용할 SqlSessionFactory 빈의 이름을 지정합니다
4. Java Configuration 방식
XML 대신 Java Config를 사용할 경우의 예시입니다:
@Configuration
public class MyBatisConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources("classpath:/mapper/**/*.xml"));
return sessionFactory.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
@Configuration
@MapperScan(basePackages = "your.package.mapper")
public class MapperConfig {
// 매퍼 스캐닝 설정
}
이러한 설정을 통해 MyBatis는 스프링과 완벽하게 통합되어 동작하며, 데이터베이스 작업을 효율적으로 처리할 수 있습니다.
참고:
반응형
'Java > Spring Framework' 카테고리의 다른 글
스프링 프레임워크 마이그레이션 3.2.9 to 4.3.5 (0) | 2016.12.22 |
---|---|
Spring 한글설정 (0) | 2015.03.19 |
Spring AOP (0) | 2015.01.19 |
스프링 스터디 - 의존성 주입 대상 (0) | 2015.01.14 |
스프링 학습 개발 도구 설치 (0) | 2015.01.13 |