0

次のような datasource.xml があります。一部のクエリはデータベースに依存しているため、mySql と Oracle の 2 つの sql bean ファイルがあります。これは、oracle の rownum に相当する mysql の制限と同様です。oracle フォルダーまたは mysql フォルダーからリソース ファイルをインポートします。今のところ、ビルドの前に import ステートメントを変更する必要があります。プロパティファイルにデータベース名を含めるような代替手段はありますか.PropertyConfigurerは、少なくともSpring 3.0.5のインポートステートメントでは機能しません.

<import resource="classpath:oracle/SqlBeans.xml" />

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" >
        <value>${ds-jndi}</value>
    </property> 
    <property name="lookupOnStartup" value="false" />
    <property name="cache" value="true" />
    <property name="proxyInterface" value="javax.sql.DataSource" />
</bean>

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  <property name="dataSource" ref="dataSource" />
 </bean>
4

1 に答える 1

0

@RC が言及した Spring プロファイルは良いアイデアですが、3.1 が必要だと思います。

これはもっと簡単かもしれません:

<context:property-placeholder location="classpath:db-${my.env}.properties"/>

そしてmy.envJavaコマンドラインで設定します。

これを参照してください。

于 2012-04-26T19:37:49.933 に答える