jdbc连接的`createArrayOf`的最大元素数>>

问题描述 投票:1回答:1

我想做类似的事情:

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 result = jdbc.query(conn-> {PreparedStatement ps = conn ....

postgresql jdbc spring-jdbc
1个回答
1
投票

[C0方法返回数组的实现。

数组实现容量的理论极限是org.postgresql.jdbc.PgConnection#createArrayOfInteger.MAX_VALUE2^31 - 1

© www.soinside.com 2019 - 2024. All rights reserved.