gpt4 book ai didi

java - 仅使用一个查询执行批处理?

转载 作者:行者123 更新时间:2023-11-30 04:46:16 26 4
gpt4 key购买 nike

我的一般问题是:如果批处理中只有一个查询,则调用 preparedStatement.executeBatch() 是否效率低下/不好?

我正在为 Java Helper Library 编写一个通用方法执行查询。有一个名为 HelperQuery 的 javabean,它保存一个数组列表,另一个名为 QueryParameter 的 javabean 保存一个类型(如 STRINGBLOBINT 等)和一个值。 QueryParameter 用于填充HelperQueryPreparedStatement。在许多情况下,只有一个 QueryParameter 数组。

我的具体问题是:如果只有一个QueryParameter数组,我是否应该以不同的方式处理事情,或者无论有多少个QueryParameter都可以完全相同地处理事情有QueryParameter吗?

最佳答案

executeBatch是来自 PreparedStatementStatement 的“super”方法,它返回一个 int[],指示执行的查询的成功/失败和 executeQuery返回一个ResultSet。因此,最好让这两个方法调用完全不同,以便开发人员可以以不同的方式处理它们。我建议:

  1. 一个 executeQuery(HelperQuery helperQuery) 方法,该方法将返回关联的 ResultSet 并且仅从 获取第一个 QueryParameter HelperQuery(为了方便起见)以及开发人员可以指定要使用的 QueryParameter 集的另一种方法(让他们指定 QueryParameter 列表的编号,或者只是传递明确地在 QueryParameter 中(我推荐两者中的第二个)。
  2. 一个 executeBatch(HelperQuery helperQuery) 方法,它将返回 int[],开发人员可以根据自己的意愿进行处理。

赋予用户(在本例中为开发人员)做他们想做的事情的权力总是好的(但也为他们提供执行常见任务的简单解决方案)。

关于java - 仅使用一个查询执行批处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com