mapper interface 방식 다중커넥션 설정 문의
- 작성자 :
- 이*기
- 작성일 :
- 2018-05-18 11:31:45
- 조회수 :
- 5,020
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
이미지 첨부하였습니다.
전자정부 프레임워크 3.6 프로젝트에 mapper interface 방식으로 다중커넥션 설정문의입니다.
datasource 를 2개 생성하고 SqlSessionFactoryBean id 를 2개를주어 설정하엿는데 지정하는 방법을 모르겠습니다 .
MapperConfigurer 클레스에 setSqlSessionFactoryBeanName 이 sqlSession 으로 명시가되어서 안돼는건지 설정이잘못된것인지 문의합니다.
이상입니다.
2018-05-17 19:33:20,776 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] Releasing JDBC Connection [jdbc:mysql://112.175.44.118:3306/tipa_spec_oktomato_net?useUnicode=yes&characterEncoding=UTF8&autoReconnect=true&autoReconnectForPools=true&;connectionCollation=utf8_general_ci, UserName=tipa_spec@115.94.37.77, MySQL Connector Java] after transaction
2018-05-17 19:33:20,872 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] Releasing JDBC Connection [jdbc:mysql://112.175.44.118:3306/tipa_spec2_oktomato_net, UserName=tipa_spec2@115.94.37.77, MySQL Connector Java] after transaction
해당 log 와같이 커넥션은 2를 맺은거같은데
에러내용은 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.smplatform.common.service.impl.Common2Mapper.doSmsInsert
입니다.
세션은 맺엇는데 해당 쿼리를 못찾는것인지 ....확인좀해주시면감사하겠습니다.
전자정부 프레임워크 3.6 프로젝트에 mapper interface 방식으로 다중커넥션 설정문의입니다.
datasource 를 2개 생성하고 SqlSessionFactoryBean id 를 2개를주어 설정하엿는데 지정하는 방법을 모르겠습니다 .
MapperConfigurer 클레스에 setSqlSessionFactoryBeanName 이 sqlSession 으로 명시가되어서 안돼는건지 설정이잘못된것인지 문의합니다.
이상입니다.
2018-05-17 19:33:20,776 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] Releasing JDBC Connection [jdbc:mysql://112.175.44.118:3306/tipa_spec_oktomato_net?useUnicode=yes&characterEncoding=UTF8&autoReconnect=true&autoReconnectForPools=true&;connectionCollation=utf8_general_ci, UserName=tipa_spec@115.94.37.77, MySQL Connector Java] after transaction
2018-05-17 19:33:20,872 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] Releasing JDBC Connection [jdbc:mysql://112.175.44.118:3306/tipa_spec2_oktomato_net, UserName=tipa_spec2@115.94.37.77, MySQL Connector Java] after transaction
해당 log 와같이 커넥션은 2를 맺은거같은데
에러내용은 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.smplatform.common.service.impl.Common2Mapper.doSmsInsert
입니다.
세션은 맺엇는데 해당 쿼리를 못찾는것인지 ....확인좀해주시면감사하겠습니다.
A
안녕하세요 표준프레임워크센터입니다.
다중 데이터커넥션 방식에 대해서 궁금해 하시는 것 같습니다.
context-mapper.xml에서 다음과 같이 수정하시면 됩니다.
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명1" />
<property name="sqlSessionFactoryBeanName" value="sqlSession" />
</bean>
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명2" />
<property name="sqlSessionFactoryBeanName" value="sqlSession2" />
</bean>
단, 풀패키지명1 과 풀패키지명2은 서로 달라야 합니다.
서로 다른 패키지에 서로 다른 데이터베이스가 적용이 되어야, 충돌이 나지 않기 때문입니다.
감사합니다.
다중 데이터커넥션 방식에 대해서 궁금해 하시는 것 같습니다.
context-mapper.xml에서 다음과 같이 수정하시면 됩니다.
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명1" />
<property name="sqlSessionFactoryBeanName" value="sqlSession" />
</bean>
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명2" />
<property name="sqlSessionFactoryBeanName" value="sqlSession2" />
</bean>
단, 풀패키지명1 과 풀패키지명2은 서로 달라야 합니다.
서로 다른 패키지에 서로 다른 데이터베이스가 적용이 되어야, 충돌이 나지 않기 때문입니다.
감사합니다.