executeBatch()是否还会清除命令列表?

Rol*_*and 4 java jdbc batch-updates

的文档Statement.executeBatch()尚不清楚,但是我假设调用它会以与清空Statement对象相同的方式来清空对象的当前SQL命令列表clearBatch()。我还假设的情况也是如此PreparedStatement

我想可以Statement在调用之后继续使用after Statement.executeBatch(),即添加另一批命令并执行它们。

Mar*_*eel 8

尽管的API文档中未明确提及,但executeBatch该行为由JDBC 4.3规范14.1.2成功执行部分中指定:

一旦executeBatch返回,该语句的批处理将重置为空。

尽管这在“成功执行”一节中进行了指定,但这也是不成功执行的预期行为。

简而言之,当您调用时executeBatch(),当前的语句语句将提交给数据库服务器并清除。