春批| JdbcPagingItemReader <t>是否支持多个DataSource以支持跨多个数据源的连接查询?

时间:2017-06-14 20:37:40

标签: spring spring-batch

我的ItemReader只有一个SQL查询阅读器。

但我的查询异常是从两个不同的数据源连接表并提供单个输出结果..如下所示

  <bean id="userFinder"
        class="org.springframework.batch.item.database.JdbcPagingItemReader"
        scope="step">
    ...
    ...
            class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
            <property name="dataSource1" ref="dataSource1" />
            <property name="dataSource2" ref="dataSource2" />
            <property name="selectClause"
                value="SELECT ALIAS1.COL1, ALIAS2.COL2 " />
            <property name="fromClause" value="FROM dataSource1.TABLE1.ALIAS1, dataSource2.TABLE 2.ALIAS2" />
            </property>
            <property name="sortKey" value="WLT_ID" />
        </bean>
    </property>

1 个答案:

答案 0 :(得分:1)

在单个查询中,您将无法加入两个不同的数据库。我认为在java中你将不能使用两个数据源来运行一个查询。

您可以编写自定义ItemReader并注入两个数据源。 从两个表中检索数据并加入java代码。但这将是非常昂贵的操作