这段时间都纠缠于 Java 如何操作 PostgreSQL 数据库上,千方百计的为求得更好的性能。为此我们用上了 Batch, 或用 id = any(?) 这种更 PostgreSQL 化的数组参数操作。其实它还有更多数组方面的花样可以玩,毕竟 PostgreSQL 数据库有一种广纳百川的胸怀,总有好的新特性能在 PostgreSQL 中首先体验到。
回到之前的一篇 postgres in (?,?) 和 =any(?) 用法/性能对比,其中关于如何向查询语句中 id = any(?)
占位符传入数组参数的代码是
1 2 3 4 5 6 7 |
Connection conn = datasource.getConnection(); String query = "select * from users where id = any(?)"; PreparedStatement pstmt = conn.prepareStatement(query); Object[] params = new Object[]{1, 2, 3}; pstmt.setArray(1, conn.createArrayOf("int", params)); ResultSet rs = pstmt.executeQuery(); |
在 PreparedStatement(PgPreparedStatement) 中设置数组参数的函数是用 阅读全文 >>