问题描述
stmt = connection.prepareStatement("UPDATE domotica.artefatti SET id_sensori = array_append(id_sensori,?) WHERE id=?");
int [] integerarray = {values...};
我想对其进行转换/广播,以便可以执行以下操作:
stmt.setArray(1,correctarray);
解决方法
您需要通过连接创建JDBC Array实例。但这仅接受iostat
,因此您需要将Object[]
数组转换为:
int[]
请注意,int[] intlist = {....};
Object[] values = Arrays.stream(intlist).mapToObj(i -> Integer.valueOf(i)).toArray();
Array array = con.createArrayOf("int",values);
pstmt.setArray(1,array);
不能用于将一个数组附加到另一个数组。如果将数组传递给PreparedStatement,则需要使用array_append()
。