Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/richinhim/springmybatis

spring/Mybatis multi datasource
https://github.com/richinhim/springmybatis

mybatis spring

Last synced: 17 days ago
JSON representation

spring/Mybatis multi datasource

Awesome Lists containing this project

README

        

# SpringMybatis
spring/Mybatis multi datasource

스프링에서 Mybatis multi-datasource 연동법입니다.

안녕하십니까? 지난주 spring4 + mybatis3.3 + dbcp를 이용하여

다중 데이터 소스 연결하는 부분을 해결한 내용을 올려드립니다.

spring version : 4.2.0

mybatis version : 3.3.0

mybatis-spring version : 1.2.3

WAS : wildfly9.0.1.Final

database : mariaDB10.0

을 이용하였습니다.

그리고 소스는 DAO를 사용하지 않고 mapper 와 service를 사용하였습니다.

에러 내용의 핵심은 2가지로 요약됩니다.

1.

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.proto.net.aron.aronMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true) , @org.springframework.beans.factory.annotation.Qualifier(value=Mapper)}

2.

MyBatis 의 MapperScannerConfigurer 가 어떤 SqlSessionFactory 를 참조해야 할지 몰라서 발생한다.

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.apache.ibatis.session.SqlSessionFactory] is defined: expected single matching bean but found 2: sqlSessionFactory,sqlSessionFactory_mose

아래 부분은 application-config.xml 부분입니다.

classpath:mybatis/mappers/aron/aron.xml

classpath:mybatis/mappers/mose/mose.xml

1번 오류에 대한 해결책은 mapper inteface 상단에

@Resource(name = "dsMoseScanner") 를 추가해 주는 것입니다.

2번 오류의 해결책은 아래와 같이 매퍼가 사용할 sqlSessionFactory를 지정해 주는 것입니다.

감사합니다.

1번과 2번의 설정을 제거하고 한방에 처리 하는 방법을 찾았습니다.

application-config.xml 파일에

으로 정의하게 되면

이부분과

도 제거할수 있습니다.

그리고

mapper inteface 상단에

@Resource(name = "dsMoseScanner") 를 추가해 주지 않아도 됩니다.

감사합니다.