java - executeBatch() 是否也会清除命令列表?

标签 java jdbc batch-updates

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/

相关文章:

java - NetBeans 12 UTF-8 中文输出与 Maven 项目

hibernate - jpa 将 java 类型映射到数据库类型

java - 使用JDBC BatchUpdate向数据库中插入100万条记录。每行包含6个特定值,以“#”分隔。

java - 整个应用程序的静态方法内的连接静态变量的范围?

java - 如何修复 java.sql.BatchUpdateException?

java - 只有最后更新查询在 JAVA 的 addBatch 中工作

java - 将 int 值赋给字符串

java - 如何在jsp中使用bean类向数据库中插入值?

java - GPE/GWT 插件不起作用

java - 为什么我的存储过程仅返回单个整数返回代码,但堆空间不足?