使用 JDBC 连接在 Oracle 过程可调用语句中插入对象的 ArrayList 作为参数

Posted

技术标签:

【中文标题】使用 JDBC 连接在 Oracle 过程可调用语句中插入对象的 ArrayList 作为参数【英文标题】:Inserting ArrayList of Objects in Oracle Procedure Callable Statement as Argument using OJDBC Connection 【发布时间】:2016-02-02 12:37:31 【问题描述】:

我已经使用ojdbc6.jar成功实现了与oracle的连接。

现在我很好奇如何通过程序调用将包含特定类对象的Arraylist 插入到 oracle 数据库中?

例如,我有MyEmployee 类,我将员工类的Arraylist 制作如下:

List<MyEmployee> array = new ArrayList<MyEmployee>();
array.add(requestDetails1);
array.add(requestDetails2);

我希望在调用Callable 语句时以某种方式传递整个数组,以便每个对象在表中作为一行。

【问题讨论】:

你的意思是每个MyEmployee 对象都应该作为一行进入某个表Employee 吗?另外,要获得更准确的答案,请显示您的 JDBC 代码、INSERT 或 UPDATE SQL 以及表详细信息. 【参考方案1】:

您可以使用preparedStatement.setArray() 方法将数组参数添加到您的查询中。 请记住这一点:java.sql.PreparedStatement.setArray() : Unsupported cross conversion

【讨论】:

以上是关于使用 JDBC 连接在 Oracle 过程可调用语句中插入对象的 ArrayList 作为参数的主要内容,如果未能解决你的问题,请参考以下文章

JDBC连接Oracle

使用JDBC实现Oracle用户认证

如何确定给定 JDBC 连接的数据库类型?

jdbc连接oracle

JDBC和异常总结及常见使用

如何使用JDBC连接oracle数据库