2016-12-13 2 views
0

Mybatis에서 실행할 매퍼를 선택할 수 있습니까?mybatis에서 동적으로 라우트 된 sqlSessionFactory

나는 동적으로 라우팅 된 데이터 소스를 사용하고 있으며이를 sqlSessionFactory에 대한 매개 변수로 제공합니다. 작동하고 있습니다.

그러나 다른 데이터베이스는 다른 SQL 쿼리 (매우 작은 차이점이 있지만 차이점)가 필요할 수 있습니다.

동적으로 라우팅 된 sqlSessionFactory을 생성하고 다른 패키지 매퍼를 제공 할 수 있습니까? 몇 가지가 의 MyBatis-config.xml에에서의 선언 누구의 사이에 데이터 소스와 맵퍼가있다 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);

:

답변

0

이 방법은 세션 공장을 얻는 방법이다.

그런 다음 다른 Mybatis 구성 파일 (자체 dateource 및 mappers 포함)을 만들고 세션 팩토리를 빌드 할 파일을 동적으로 선택하십시오. 매퍼와 일치 할 것이기 때문에 팩토리에서 제공하는 암시적인 것을 사용하는 것이 좋지만 세션을 열 때도 연결을 제공 할 수 있습니다. (연결을 재사용해야하는 복잡한 애플리케이션이 아니라면 (예 : 거래를 완료하는 경우)