Statement.executeBatch()
的文档对此并不清楚,但我认为调用它将以与clearBatch()
相同的方式清空Statement
对象的当前SQL命令列表。我还假设PreparedStatement
也是如此。
我想在调用Statement.executeBatch()
之后可以继续使用Statement
,即添加另一批命令并执行它们。
虽然executeBatch
的API文档中没有明确提到,但行为由JDBC 4.3规范中的14.1.2成功执行:部分规定
executeBatch返回后,语句的批处理将重置为空。
尽管这是在名为"成功执行"的部分中指定的,但这也是不成功执行的预期行为。
简而言之,当您调用executeBatch()
时,当前一批语句将提交到数据库服务器并被清除。