Spring integration Spring集成jdbc数组更新查询spel表达式
我正在尝试为我的Spring integration Spring集成jdbc数组更新查询spel表达式,spring-integration,spring-jdbc,spring-el,Spring Integration,Spring Jdbc,Spring El,我正在尝试为我的JdbcPollingChannelAdapter创建一个“更新查询”,给定以下工作流: 从数据库中选择500条A型记录 使用上次读取的记录(位置500处的记录)的值更新另一个表中的1行 但我无法将其分类,因为我一直在尝试使用spring el来查找值 通过调试,我找到了JdbcPollingChannelAdapterexecuteUpdateQuery方法 void executeUpdateQuery(Object obj) { SqlParameterSo
JdbcPollingChannelAdapter
创建一个“更新查询”,给定以下工作流:
JdbcPollingChannelAdapter
executeUpdateQuery
方法
void executeUpdateQuery(Object obj) {
SqlParameterSource updateParameterSource = this.sqlParameterSourceFactory.createParameterSource(obj);
this.jdbcOperations.update(this.updateSql, updateParameterSource);
}
其中,objectobj
是一个包含500条A类记录的数组列表
这是我最好的搭配:
UPDATE LAST_EVENT_READ SET SEQUENCE=:#root[499].sequence, EVENT_DATE=:#[499].eventDate
有人能帮我吗
p.S.类型A具有序列和事件日期属性我建议您使用自定义的
SqlParameterSourceFactory
,并且已经不依赖SpEL:
public class CustomSqlParameterSourceFactory implements SqlParameterSourceFactory {
@Override
public SqlParameterSource createParameterSource(Object input) {
List<?> objects = (List<?>) input;
return new BeanPropertySqlParameterSource(objects.get(objects.size() - 1));
}
}
UPDATE LAST_EVENT_READ SET SEQUENCE=:sequence, EVENT_DATE=:eventDate