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