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

问题描述 投票:1回答:1

Statement.executeBatch()的文档尚不清楚,但是我认为调用它会像Statement.executeBatch()一样清空Statement对象的当前SQL命令列表。我还假设clearBatch()也是如此。

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

java jdbc batch-updates
1个回答
4
投票

尽管PreparedStatement的API文档中没有明确提及,但行为是由[[14.1.2成功执行中的Statement指定的:]

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.