验证春季 JDBC 批处理更新是否成功



我正在使用Spring JDBCTemplate batchUpdate在批处理中插入数据。我想验证数据是否已成功插入。JDBCTemplate batchUpdate 返回一个 int[][],那么验证数据是否已插入的正确方法是什么?

此链接显示"所有批处理更新方法都返回一个 int 数组,其中包含每个批处理条目的受影响行数。此计数由 JDBC 驱动程序报告,并且并不总是可用,在这种情况下,JDBC 驱动程序仅返回 -2 值"。我无法理解在这里返回 -2 值的意义。这是否意味着插入不成功?

-2 并不一定意味着错误,它可能如前所述,受影响的行计数的情况不可用。

编辑

-2 是 Statement.SUCCESS_NO_INFO 的值(而 EXECUTE_FAILED 是 -3)。因此,除非驱动程序不符合 JDBC 规范,否则 -2 明确表示成功

编辑结束

错误通过批处理更新异常报告

通常,如果您在批处理脚本中运行 N 个查询,您将在结果中获得每个查询 i 的更新计数:

int result[] = jdbcTemplate.batchUpdate(sql);

所以:

result[0]

将保存第一个查询的更新计数,

result[1]

将保存第二个查询等的更新计数。

相关内容

  • 没有找到相关文章

最新更新