1

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

我正在为Java Helper Library编写一个通用方法来执行查询。有一个名为 javabean 的 javabeanHelperQuery包含一个数组列表,另一个名为 javabean 的 javabeanQueryParameter包含一个类型(如STRINGBLOBINT等)和一个值。QueryParameter用于填充' HelperQuerys 。PreparedStatement在许多情况下,只有一个QueryParameters 数组。

我的具体问题是:如果只有一个QueryParameters 数组,我应该以不同的方式处理事情,还是不管有多少 s 都可以处理完全相同的事情QueryParameter

4

1 回答 1

2

executeBatch是来自的父级的 " super" 方法,它返回一个指示执行查询的成功/失败并返回一个. 因此,最好让这两个方法调用完全不同,以便开发人员可以不同地处理它们。我会推荐:PreparedStatementStatementint[]executeQueryResultSet

  1. 一个executeQuery(HelperQuery helperQuery)方法将返回关联的ResultSet并且只会从s 中获取第一个QueryParameters HelperQuery(为了方便)和另一个开发人员可以指定QueryParameter要使用的集合的方法(让他们指定QueryParameter列表的数量或直接传入QueryParameters 显式(我推荐两者中的第二个))。
  2. 一个executeBatch(HelperQuery helperQuery将返回的方法,int[]开发人员可以根据需要处理它。

让用户(在这种情况下为开发人员)有能力做他们想做的事总是好的(但也为他们提供一个简单的解决方案来执行常见任务)。

于 2012-06-04T14:17:37.033 回答