来自ArrayList的JDBC createArrayOf

时间:2018-04-29 04:55:41

标签: java sql postgresql arraylist jdbc

我想在sql中设置一个WHERE IN子句,所以我想做一个preparedStatement.setArray(1, some_ids)

我可以像这样创建一个sql.Array

Array some_ids = conn.createArrayOf("INTEGER", new Object[]{"1", "2","3"});

但是如何使用ArrayList<Integer>

执行此操作
ArrayList<Integer> array_list_ids = new ArrayList<Integer>();
array_list_ids.add(1);
array_list_ids.add(2);
array_list_ids.add(3);
Array some_ids = conn.createArrayOf("INTEGER", array_list_ids);

我得到了

java: incompatible types: java.util.ArrayList<java.lang.Integer> cannot be converted to java.lang.Object[]

1 个答案:

答案 0 :(得分:1)

ArrayList转换为Object数组至toArray()

Array some_ids = conn.createArrayOf("INTEGER", array_list_ids.toArray());