java - H2:getArray 仅返回一个元素

标签 java sql arrays jdbc h2

我有下表:

CREATE TABLE "mytable" (
... 
  "columns" ARRAY NOT NULL,
...
);

我通过 H2 Web 控制台手动在数组中插入元素:

INSERT INTO "mytable"(..."columns"...) VALUES
(...,'{''col1:uuid'',''col2:id'',''col3:firstName'',''col4:middleName'',''col5:lastName''}',...);

现在我尝试从java获取元素数组

Object[] colArray=(Object[]) rs.getArray("columns").getArray();
System.out.println("Test:"+colArray.length);//returns 1. all columns are in one string.

我的错误是什么?

最佳答案

要插入类型为 ARRAY 的列,请使用以下语法:

INSERT INTO
              "mytable"("columns")
       VALUES
       ( 
           (
               'col1:uuid',
               'col2:id',
               'col3:firstName',
               'col4:middleName',
               'col5:lastName'
           )
       );

检查您的数据

SELECT ARRAY_LENGTH("columns") FROM "mytable"

关于java - H2:getArray 仅返回一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31404702/

相关文章:

java - 当两个字符串打印相同的内容时,为什么它们不相等?

php - 我的代码只向我显示第一个结果并带来另一个空值

php - 如何在不更改其键值的情况下删除数组的第一个元素?

c# - 如何在C#中发送数组副本

mysql - 为每个客户选择前 3 项

java - java中如何读取整数并将其存储在数组中

java - 我需要在图片的范围内创建一个可点击的图像。然后我需要图片在文件夹中的图片之间切换

java - 找不到 WebApplicationContext : no ContextLoaderListener registered?

java - 榛树。序列化失败

mysql - 如何将表 2 中的新行插入到表 1 中以比较 ID?