Spring Batch, как написать карту

Я уже видел много учебников и весенних материалов, но я нашел только примеры, которые содержат простой объект в ItemWriter.

Например...

    @Bean
    JdbcBatchItemWriter<Student> writer = new JdbcBatchItemWriter<>();
    writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<Student>());
    writer.setItemPreparedStatementSetter(new ItemPreparedStatementSetter<Student>(){
        @Override
        public void setValues(Student student, PreparedStatement ps) throws SQLException {
            ps.setLong(1,student.getStudentCode());
            ps.setObject(2,student.getStudentGrade());
        }});
    writer.setSql(QUERY_STUDENT_GRADE_INSERT);
    writer.setDataSource(dataSource);
    return writer;  

в моем реальном сценарии я должен написать карту, которая содержит ключ и значение, например:

Map<KeyObject,Long>

Но я понятия не имею, как кодировать что-то, что сможет вставить весь контент, который я получил в мою Карту.

Есть еще один вопрос...

Когда я обрабатываю определенное количество элементов, мне нужно сохранить эти данные в базе данных, но предыдущий контент остается в моей коллекции, таким образом... как я могу очистить содержимое карты после записи?

1 ответ

Решение

Решение было заменить мою карту для списка

Я просто использую лямбду, чтобы отфильтровать объекты в списке и записать их через общий itemWriter.

Другие вопросы по тегам