如何将数组值直接插入到jdbc预处理语句中

时间:2012-08-17 14:42:03

标签: sql jdbc insert sybase-ase java1.4

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

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

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

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

中没有

1 个答案:

答案 0 :(得分: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