java - JDBC 从 ArrayList 创建ArrayOf

标签 java sql postgresql arraylist jdbc

我想设置一个WHERE IN sql 子句,所以我想做 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[]

最佳答案

ArrayListObject 数组转换为 toArray()!

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

关于java - JDBC 从 ArrayList 创建ArrayOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50083516/

相关文章:

sql - 如何在一个查询SQL中使用不同的值增加不同的行?

java - 尝试在 Swing 中实现自定义 UI 元素

java - 网络分页与 arch 库中的 pagedList

java - 如何从 adb 获取 GSF(谷歌服务框架)ID?

arrays - Postgres - 通过 SQL 插入一个 varchar 数组

postgresql - Postgres 查询以根据限制获取申请的拒绝和接受计数

java - ISO_DATE_TIME.format() 到具有可选偏移量的 LocalDateTime

mysql - 使用 IN mysql 的子查询错误代码 : 1054

mysql - SQL:这个 "where if"查询有什么问题?

MySQL - 使用不在列表中的列按语句排序