Statement.executeBatch()
的文档对此尚不清楚,但我假设调用它会清空 Statement
对象的当前 SQL 命令列表,方式与 clearBatch()
相同。做。我还假设 PreparedStatement
也是如此。 .
我想在调用Statement.executeBatch()
后可以继续使用Statement
,即添加另一批命令并执行它们。
最佳答案
尽管 executeBatch
的 API 文档中没有明确提及,但该行为由 JDBC 4.3 Specification 指定。在14.1.2成功执行部分:
The statement's batch is reset to empty once executeBatch returns.
尽管这是在“成功执行”部分中指定的,但它也是不成功执行的预期行为。
简而言之,当您调用executeBatch()
时,当前批处理的语句将提交到数据库服务器并清除。
关于java - executeBatch() 是否也会清除命令列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522625/