-1
我是Spring的新手。我有一個用例,我需要執行相同的多個SQL查詢併爲每個查詢返回相同的POJO。我想寫一個物品閱讀器並在每個步驟中更改查詢。有沒有辦法做到這一點?春季開機春季批量:如何動態設置查詢項目讀取器
我是Spring的新手。我有一個用例,我需要執行相同的多個SQL查詢併爲每個查詢返回相同的POJO。我想寫一個物品閱讀器並在每個步驟中更改查詢。有沒有辦法做到這一點?春季開機春季批量:如何動態設置查詢項目讀取器
您可以使用Spring Batch的後期綁定在你的讀者加入@StepScope
示例代碼
@StepScope
@Bean
public ItemReader<Pojo> myReader() {
JdbcCursorItemReader<Pojo> reader = new JdbcCursorItemReader<>();
reader.setDataSource(basicDataSource);
//You can inject sql as per you need
//Some expamles
//using #{jobParameters['']}
//using {jobExecutionContext['input.file.name']}"
//using #{stepExecutionContext['input.file.name']}"
reader.setSql("Your-SQL");
reader.setRowMapper(new MyMapper());
return reader;
}
檢查部分5.4 https://docs.spring.io/spring-batch/reference/html/configureStep.html
什麼叫**在每一步的意思** ?這是一個多步驟的工作?在我看來,如果你打算寫一個自定義閱讀器,你可以按你想要的方式編寫它。使用API提供的讀取器可能無法實現。 –