为此,我使用了JdbcItemWriter中的ItemSqlParameterSourceProvider
ItemSqlParameterSourceProvider<NebefEffEdePdh> itemSqlParameter = nebefEffEdePdh -> new MapSqlParameterSource()
.addValue("dateDebutBiMoins1Second",Utils.getDateMinusSeconds(nebefEffEdePdh.getDateDebutBi(), DELTA_DATE_DEBUT_FIN_BI))
.addValue("dateJ", nebefEffEdePdh.getDateJ())
.addValue("codeEde", nebefEffEdePdh.getCodeEde())
.addValue("statutEffacement", nebefEffEdePdh.getStatutEffacement());
writer.setItemSqlParameterSourceProvider(itemSqlParameter);
我的请求:
UPDATE MY_TABLE SET DATE_FIN_BI = :dateDebutBiMoins1Second WHERE TRUNC(DATE_J) = TRUNC(:dateJ) AND CODE_EDE = :codeEde AND STATUT_EFFACEMENT = :statutEffacement AND DATE_FIN_BI IS NULL