0
有2個獨立的數據庫涉及,兩個在phisically 2個不同的地方。 在我的應用程序,我用彈簧一批像這樣實現的:連接兩個數據庫並寫入單個查詢?
1.Fetching所有的ID從AS/400數據庫(主數據庫) 與MY SQL數據庫(我的應用程序)的ID和以往的IDS存在什麼2.comparing在sql db中,我正在將這些IDS信息更新到我的本地數據庫(MY SQL)。 缺點: 假設AS400 DB有10個ID,並且在我的應用程序中只有2個ID,但爲了得到這個數據,我實際上讀取了所有10個ID。所以浪費時間和缺乏效率吧?!
這裏是我使用Spring Batch的獲取數據的代碼:
<bean id="patternsItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="sql" value="SELECT
J3PATT AS patternId,
J3PTYP AS patternType,
J3CLAS AS PatternClass,
J3REPT AS repeat,
j3CLRS AS numOfColors,
JOENTT AS event,
J3ACT AS activity
FROM TEST006966.JQP030H a WHERE rrn(a) >=(select max(rrn(b)) from
TEST006966.JQP030H b where a.j3patt = b. j3patt) and j3sts = 'N' ORDER BY
J3PATT, JODATE desc ,jotime desc
"/>
<property name="rowMapper">
<bean class="org.springframework.jdbc.core.BeanPropertyRowMapper">
<property name="mappedClass" value="com.mohawkind.batch.patterns.PatternsRowMapper"/>
</bean>
</property>
<property name="dataSource" ref="AS400DataSource" />
</bean>
<bean id="patternsItemWriter" class="com.mohawkind.batch.patterns.PatternsWritter" />
我在尋找:
我想要的解決方案就取什麼在我的本地存在的數據( SQL DB)。 是否有可能通過彈簧批量作業連接2分貝和獲取數據?
任何想法,建議將不勝感激。 在此先感謝..
在你的例子中你提到了10行和2行。這是您預期的音量的指示嗎?如果這樣的基數低,那麼合理的策略可能會與數量級甚至數百萬級的策略大不相同。 – WarrenT