spring 批处理 运行 sql 脚本作为 tasklet

spring batch run sql script as a tasklet

spring 批处理是否支持将 sql 脚本作为 tasklet 的一部分执行?以下是我计划使用 spring 批处理开发的步骤序列。

对于第 2 步和第 4 步,我需要按顺序 运行 一堆 sql 语句。我怎样才能完成 运行 一个 sql 脚本?

  1. 读取 csv 文件并验证内容
  2. 如果内容有效,执行 sql 脚本删除现有 table,并重新创建 table、索引等
  3. 运行 writer操作插入数据到table.
  4. 运行 .sql 文件中描述的存储过程序列。

虽然我不相信 Spring Batch 专门支持您的要求,但您可以查看 ScriptUtils 看看它是否提供您正在寻找的行为。

如果不是,根据您的 SQL 的复杂性,可以选择直接在 Tasklet 中使用 JdbcTemplate 并创建一系列 Tasklets