mybatis로 multiple DB에 접근할 일이 있는데. sqlSessionFactory를 여러 개를 두어서 관리하도록 에러 메시지가 나와서. MapperScannerConfigurer의 sqlSessionTemplateBeanName property를 추가하니 문제가 되었다.
properties 파일을 못읽는 부분, DAO를 못찾는 exception이 나온다.
* 사용 라이브러리
<dependency> |
* 사용 mybatis 연동 beans 설정
<bean id="adminDataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource"> <bean id="adminSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <bean id="adminTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <tx:annotation-driven transaction-manager="transactionManager" /> <bean id="adminMapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> |
그래서, 문서를 잘 보니. 아래와 같은 좋은 문구가 있었다.
http://www.mybatis.org/spring/mappers.html#MapperFactoryBean
Notice that there is no need to specify a SqlSessionFactory or SqlSessionTemplate because the MapperScannerConfigurer will create MapperFactoryBeans that can be autowired. But if you are using more than one DataSource autowire may not work for you. In this case you can use the sqlSessionFactoryBeanName or sqlSessionTemplateBeanName properties to set the right bean name to use. Note that bean names are required, not bean references, thus the value attribute is used instead of the usual ref:
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> |
아래와 mapper의 property의 내용과 mybatis-spring을 업그레이드하니 문제가 없었다.
1) property 수정 (ref –> value)
<bean id="adminMapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="adminSqlSessionFactory" /> |
2) 1.1.1 최신버전으로 변경 (1.1.0 –> 1.1.1)
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.1.1</version> </dependency> |
'general java' 카테고리의 다른 글
[Mybatis] 비교 및 범위 쿼리 사용시 주의할 점 (0) | 2012.05.12 |
---|---|
Mybatis 좋은 팁 (여러개의 파라미터를 자동으로 map으로 적용할 수 있는 방법) (0) | 2012.05.12 |
ubuntu에서 thrift 0.6 installation(설치) 가이드 (0) | 2012.04.25 |
Redis와 BitSet (jedis 이용) (1) | 2012.04.10 |
jedis를 이용해서 bitset 활용하기 (redis) (0) | 2012.04.04 |