我正在尝试使用多个数组运行查询,因此我必须创建一个类似
的查询SELECT * FROM TABLE_NAME WHERE FIELD1 IN (?,?,?) AND FIELD2 IN(?,?,?) .... SO ON
所以,每次我必须根据我拥有的每个数组的大小生成?的数量并将其放在那里。这对我来说似乎很老套。有没有其他方法呢?比如直接插入一个值数组。
我使用的是java v1.4。我在1.6中看到了关于创建sql数组的内容,但在1.4
中没有答案 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