2

私のアプリケーションでは、Spring Integration で MyBatis を使用しています。社内には複数の Oracle データベースがあります。1 つのクエリを 1 つのデータベースで実行し、別のクエリを別のデータベースで実行する必要があります。異なるクエリに異なるデータベース接続を使用するように MyBatis を構成する方法は?

4

2 に答える 2

0

これは、MyBatis 3 ユーザー ガイドで取り上げられている最初のトピックの 1 つです。基本的に、データベースごとにいくつかの XML 構成ファイルが必要です。最も簡単な方法は、構成を渡してマッパーを作成することです

String resource = "org/mybatis/example/Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMapper = new SqlSessionFactoryBuilder().build(reader);

編集:申し訳ありませんが、注意深く読んでいませんでした。とにかく、コードスニペットは一目瞭然だと思います:

<jee:jndi-lookup id="jndiDatabase1"                jndi-name="jdbc/database1"/>
<jee:jndi-lookup id="jndiDatabase2"                jndi-name="jdbc/database2"/>

 <bean id="database1" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="configLocation"     value="classpath:/some/path/to/database1Config.xml"/>
    <property name="dataSource"         ref="jndiDatabase1"/>
</bean>

<bean id="database2" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="configLocation"     value="classpath:/some/path/to/database2Config.xml"/>
    <property name="dataSource"         ref="jndiDatabase2"/>
</bean>
于 2013-02-21T09:50:40.620 に答える