我正在尝试使用多个数组运行查询,所以我必须创建一个类似的查询
SELECT * FROM TABLE_NAME WHERE FIELD1 IN (?,?,?) AND FIELD2 IN(?,?,?) .... SO ON
所以,每次我必须根据我拥有的每个数组的大小生成?的数量并将其放在那里。这对我来说似乎很老式。还有其他方法吗?就像直接插入一个值数组。
我正在使用 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