1

我正在尝试使用多个数组运行查询,所以我必须创建一个类似的查询

SELECT * FROM TABLE_NAME WHERE FIELD1 IN (?,?,?) AND FIELD2 IN(?,?,?) .... SO ON

所以,每次我必须根据我拥有的每个数组的大小生成?的数量并将其放在那里。这对我来说似乎很老式。还有其他方法吗?就像直接插入一个值数组。

我正在使用 java v1.4。我在 1.6 中看到了有关创建 sql 数组的内容,但在 1.4 中没有

4

1 回答 1

0

缺少任何 SQL 构建器库,您将不得不自己生成这些多个绑定值。据我所知,即使有 JDBC 数组支持,这通常也是不可能的,特别是对于 Sybase ASE。

通过 SQL 构建器库,我的意思是类似于jOOQ(我是其中的开发人员):

String[]  array1 = {"1", "2", "3"};
Integer[] array2 = { 1 ,  2 ,  3 };

create.select()
      .from(TABLE_NAME)
      .where(FIELD1.in(array1))
      .and(FIELD2.in(array2))
      .fetch();

请注意,jOOQ 需要 Java 1.6

于 2012-08-17T15:16:19.247 回答