java傳集合到oracle的存儲過程中

1.oracle先創建一個自定義的table類型(注:類型的名稱必須要大寫,否則會報無效名稱)

CREATE OR REPLACE TYPE MAILIDTABLE AS TABLE OF NUMBER(1);

2.java方面(注:這裏必須要重新建立一個連接,不能使用com.jolbox.bonecp連接池裏面的連接,至於其它連接池,我就沒有試過了)

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","user","pwd");
ArrayDescriptor arrayDesc = ArrayDescriptor.createDescriptor("MAILIDTABLE",connection);
ARRAY array_to_pass = new ARRAY(arrayDesc, connection, mIdList.toArray(new Integer[mIdList.size()]));
OracleCallableStatement statement = (OracleCallableStatement) connection.prepareCall("call MAIL_DELETE(?)");
statement.setArray(1, array_to_pass);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章