我想做类似的事情:
Integer[] largeIntArray = new Integer[]{ 1, 2, 3 }; // possibly 50k elements List<Integer> result = jdbc.query(conn -> { PreparedStatement ps = conn.prepareStatement("SELECT number FROM something WHERE id = ANY(?)"); ps.setArray(1, conn.createArrayOf("INTEGER", largeIntArray)); return ps; }, (rs, rowNum) -> rs.getInt(1));
使用
org.postgresql.jdbc.PgConnection#createArrayOf
。
result
没问题,我可以使用游标。
largeIntArray
可以包含多少个元素?
我想做类似的事情:Integer [] largeIntArray = new Integer [] {1,2,3}; //可能有50k个元素List
[C0方法返回数组的实现。
数组实现容量的理论极限是org.postgresql.jdbc.PgConnection#createArrayOf
或Integer.MAX_VALUE
或2^31 - 1
。