【问题标题】:how can i insert array values directly in to jdbc prepared statement如何将数组值直接插入到 jdbc 准备好的语句中
【发布时间】:2012-08-17 14:42:02
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    没有任何 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      • 2020-02-29
      • 2015-03-02
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多