특정 데이터베이스에서 데이터를 추출하여 XML 파일에 저장해야합니다.스프링 배치에서 다른 데이터베이스 테이블의 데이터를 추출하십시오.
그러나 데이터는 다른 테이블에 대해 여러 선택 쿼리를 수행해야만 얻을 수 있습니다. 여기
내 구성입니다 :<!-- Reader for getting msisdn -->
<bean id="pagingdbItemReader2"
class="org.springframework.batch.item.database.JdbcPagingItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="queryProvider">
<bean
class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="selectClause" value="SELECT SUBSTR(DN_NUM,4) AS MSISDN" />
<property name="fromClause"
value="FROM contr_services_cap cs, directory_number d" />
<property name="whereClause"
value="WHERE co_id in (select co_id from contract_all where customer_id =:CUSTOMER_ID)
AND cs.dn_id = d.dn_id
AND cs.sncode = 1
AND CS.MAIN_DIRNUM = 'X'" />
<property name="sortKey" value="MSISDN" />
</bean>
</property>
<property name="parameterValues">
<map>
<entry key="CUSTOMER_ID" value="#{jobParameters['CUSTOMER_ID']}" />
</map>
</property>
<property name="pageSize" value="10" />
<property name="rowMapper">
<bean class="com.ooredoo.model.inputDB.MSISDNRowMapper" />
</property>
</bean>
<!-- Writer for getting msisdn -->
<bean id="dbItemWriter2" class="org.springframework.batch.item.xml.StaxEventItemWriter">
<property name="resource" value="file:xml/outputs/DonneesFactureFromDB.xml" />
<property name="marshaller" ref="dbMarshaller2" />
<property name="rootTagName" value="Facture" />
</bean>
<!-- Marshaller for getting msisdn -->
<bean id="dbMarshaller2" class="org.springframework.oxm.xstream.XStreamMarshaller">
<property name="aliases">
<util:map id="aliases">
<entry key="msisdn" value="com.ooredoo.model.inputDB.MSISDN" />
</util:map>
</property>
</bean>
나는이 모든 설정을 (그리고 자바 클래스를 해당 생성) 모든 검색어에 대해할까요?
편집 :
나는 쿼리 "A"를 사용하여 데이터베이스에서 데이터를 추출하기 위해이 설정을 완료했습니다 (그리고 그것은 일했다). 그래서 내 질문은 : 내가 원하는 모든 쿼리에 대해 동일한 구성 (독자, 작가, 마샬 러 등 ...)을 써야겠습니까 ... 아니면 내가 어쩌면 일종의 "쿼리 그룹을 작성할 수 있습니다 "그것은 하나씩 실행되어 결과가 하나의 XML 파일로 작성되도록합니다. ???
나만의 맞춤 작성기를 쓸까요? – Siho
아무도 내 문제에 대한 아이디어가 없습니다. (? – Siho
죄송합니다. 질문이 너무 광범위합니다. 분명히 XStream을 사용하고있는 것처럼 JAXB와 아무런 관련이 없습니다. – lexicore