【发布时间】:2017-10-24 01:14:55
【问题描述】:
我已经看过很多教程和弹簧材料,但我只找到了在 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:
Map<KeyObject,Long>
但我不知道如何编写能够插入我在地图中收到的所有内容的代码。
还有一个问题……
当我处理一定数量的项目时,我需要将此数据存储在数据库中,但以前的内容仍保留在我的集合中,那样...我如何在写入后清理地图内容?
【问题讨论】:
-
"必须写一张地图" ...为了家庭作业?对不起,投反对票,因为你的(第一个)问题不清楚......关于你的第二个问题:
Map.clear()应该这样做。 -
我想用 Map 替换 Student 类
-
...为此,将
Student的出现替换为Map<KeyObject, Long>就足够了(在上面的代码中......)......并且在方法内部你必须替换getStudentXXX()通过“地图之外”的东西。
标签: java spring spring-batch