Что было бы лучшим способом задать пользовательские параметры для запроса JdbcPagingItemReader
?Spring Batch 3.0.3: Как настроить пользовательские параметры для запроса JdbcPagingItemReader?
Моего заказ JdbcPagingItemReader
реализация:
public class CustomItemReader extends JdbcPagingItemReader<Long> {
public CustomItemReader(DataSource dataSource) throws Exception {
SqlPagingQueryProviderFactoryBean queryProvider = new SqlPagingQueryProviderFactoryBean();
queryProvider.setDataSource(dataSource);
queryProvider.setSelectClause("SELECT t1.id");
queryProvider.setFromClause("FROM table1 t1 LEFT JOIN table2 t2 ON t2.fk_table1_id = t1.id");
queryProvider.setWhereClause("WHERE (t1.col1 = :param1) AND ((t2.id IS NULL) OR (t2.col3 = :param2))");
queryProvider.setSortKey("t1.id");
setDataSource(dataSource);
setFetchSize(10);
setRowMapper(new RowMapper<Long>() {
@Override
public Long mapRow(ResultSet rs, int rowNum) throws SQLException {
return rs.getLong(1);
}
});
setQueryProvider(queryProvider.getObject());
}
}
Почему вы расширяете 'JdbcPaging ItemReader' в первую очередь? –
Я хотел попробовать переопределить параметры обновления, но я не нашел способ сделать это. Я хотел бы иметь возможность устанавливать разные значения параметров для каждого шага. – Ivan
Как вы планируете проходить мимо? –