Есть ли лучший способ загрузить sql из файловой системы для ввода в JDBCCursorItemReader. Я хочу загрузить sql-запрос из файлов вместо hardcoding в файл конфигурации.Spring Batch JDBCCursorItemReader
//spring bean
<bean id="jdbcReader" class="com.sample.DatabaseReader">
<property name="sql" value="query.sql"/>
</bean>
, а затем я продлил JDBCCursorItemReader
//extended cursoritemreader
class DatabaseReader extends JDBCCursorItemReader {
//Overriden method
@Override
public void setSql(String fileName) {
//file
File f = new File(fileName);
//read file from given path
String query = FileCopyUtils.copyToString(f);
//pass the query
super.setSQL(query);
}
}
Что случилось с тем, как вы это сделали? этот правильный путь. – Elbek
Вы правы, чтобы подозревать, что вам не нужно расширять itemReader, чтобы делать такие вещи. как насчет http://stackoverflow.com/a/25557773/217324? если вам нужна поддержка именованных параметров, то это немного больше, я делаю это с FactoryBean, который возвращает namedParameterPreparedStatementSetter. –
@NathanHughes - Не могли бы вы объяснить, почему я не должен переопределять метод –