我正在尝试运行具有多个数组的查询,因此我必须创建一个查询,
例如SELECT * FROM TABLE_NAME WHERE FIELD1 IN (?,?,?) AND FIELD2 IN(?,?,?) .... SO ON
所以,每次我都必须生成 ?s基于我拥有的每个数组的大小并将其放在那里。这对我来说似乎很老套。还有其他方法吗?就像直接插入一个值数组一样。
我正在使用java v1.4。我在 1.6 中看到了一些关于创建 sql 数组的内容,但在 1.4 中什么都没有
缺少任何 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