其实单就这个问题网上有很多博客,但是有个问题就是我们传入的如果是array数组的数据的时候,最终oracle会接收不到数据,但是基本上所有博客都未曾提及,在这里说明一下,需要maven引用一下orai18n这个包,详细maven如下:
<!-- https://mvnrepository.com/artifact/cn.easyproject/orai18n -->
<dependency>
<groupId>cn.easyproject</groupId>
<artifactId>orai18n</artifactId>
<version>12.1.0.2.0</version>
</dependency>
其次,调用存储过程如果需要传入数组参数的时候,需要创建type:
CREATE OR REPLACE TYPE ARRAY AS TABLE OF VARCHAR2
ARRAY 是数组的声明
VARCHAR2是数组具体内容的声明
下面贴上测试代码,引用了网上的工具类,一起贴上:
package com.com.com.com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtils {
private static String driver ="";
private static String url = "";
private static String user = "";
private static String password = "";
//1.注册数据库驱动。通