绑定参数为PostgreSQL数组 [英] Binding parameter as PostgreSQL array

查看:103
本文介绍了绑定参数为PostgreSQL数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试绑定一个准备好的语句参数,这是一个多维PostgreSQL数组。这是一个数组示例(列类型是 numeric [] ):

I'm trying to bind a prepared statement parameter which is a "multidimensional" PostgreSQL array. Here's an array example (column type is numeric[]):

{{1,10},{2,20}}

如何绑定类似的值使用准备好的声明?我试过了:

How do I bind a value like that using a prepared statement? I tried:

stmt.setObject(1, "{{1,10},{2,20}}", Types.ARRAY);

它不起作用:


无法将java.lang.String的实例强制转换为Types.ARRAY

Cannot cast an instance of java.lang.String to type Types.ARRAY

任何想法?

推荐答案

尝试这样的事情(未经测试):

Try something like this (untested):

                ------------------ your connection
                V
Array inArray = conn.createArrayOf("integer", new Integer[][] {{1,10},{2,20}});
stmt.setArray(1, inArray);

链接:

  • Postgres and multi-dimensions arrays in JDBC
  • Passing Array from Java to Postgres

这篇关于绑定参数为PostgreSQL数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆