请问可以传 数组 吗?  由于数据很多,如果一条一条的插入的话,每次都要去读表,感觉好浪费资源,现在想把java中的所有数据装成数组,然后传给oracle一次性解决。 请问这样可以实现吗?  如果有demo的话更加感谢~~~

解决方案 »

  1.   

    哈哈,沒有好的答案,分不能浪費,而現在問題已經解決,特派馬甲號來拿分,順便把代碼粘上來供大家參考:private static final String T_VARCHAR = "T_VARCHAR";//T_VARCHAR is customized oracle array type
    ArrayDescriptor varchar2Desc = ArrayDescriptor.createDescriptor(   
                        T_VARCHAR, con); // create a ArrayDescriptor used to construct oracle ARRAY
    ARRAY vArray = new ARRAY(varchar2Desc, con, strs); // strs is java array. create an oracle ARRAY 
    cstmt = con.prepareCall(P_VARCHAR2_STRS);// invoke prepareCall(),P_VARCHAR2_STRS is oracle function or procedure 
    cstmt.setArray(1, vArray); // assignment  
    cstmt.registerOutParameter(2, OracleTypes.INTEGER);   
    cstmt.execute(); 注:以上代碼摘自http://blog.csdn.net/crazylaa/archive/2010/01/11/5171881.aspx,并有更改
    在此也超級感謝作者~~~