2010-03-01 1 views
1

Oracle 데이터베이스에 연결하는 웹 응용 프로그램이 있습니다. 이제 응용 프로그램에 새로운 사용자 집합이 생깁니다. 이 새로운 사용자 집합에 대해 새로운 db가 계획되고 있습니다. 로그인하는 사용자에 따라 적절한 데이터베이스에 연결할 수 있습니까? 현재 데이터베이스 구성은 XML 파일의 JNDIName 항목을 통해 수행됩니다.Spring Framework를 사용하면 비즈니스 로직을 기반으로 두 개의 서로 다른 데이터베이스를 연결할 수 있습니다.

답변

1

물론입니다. 주어진 DAO 클래스의 경우,이 bean 정의, 각 데이터베이스에 대해 하나를 생성 한 다음, 당신이 당신의 비즈니스 로직에 사용하려는 DAO 빈 선택 (당신의 DAO를 사용하는 가정) :

<bean id="dao1" class="com.app.MyDaoClass"> 
    <property name="dataSource" ref="dataSource1"/> 
</bean> 

<bean id="dao2" class="com.app.MyDaoClass"> 
    <property name="dataSource" ref="dataSource2"/> 
</bean> 

dao1dao2 두 개의 서로 다른 데이터베이스를 나타내는 DataSource 빈들입니다.

비즈니스 로직에서 dao1 또는 dao2을 적절하게 선택합니다.

0

DAO에 데이터 소스를 모두 주입 한 다음 DAO에서 현재 사용자를 기반으로 사용할 올바른 데이터 소스를 결정하는 것이 좋습니다. 현재 사용자는 프레젠테이션/서비스 계층에서 DAO로 전달 될 수 있습니다.

관련 문제