ibatis调用oracle存储过程输入输出自定义数组对象

 

 (1) oracle 中创建自定义对象

CREATE OR REPLACE TYPE rec_class as object(cid NUMBER(16),
                                           cname VARCHAR2(50)
) ;


(2) oracle 中创建自定义对象数组

CREATE OR REPLACE TYPE REC_CLASS_LIST as table of REC_CLASS;

(3) oracle 中创建存储过程

PROCEDURE test_inarray(v_loginName         IN VARCHAR2,    
                       v_rec_class_list    IN REC_CLASS_LIST,    
                       p_code              OUT VARCHAR2,    
                       p_msg               OUT VARCHAR2) IS
                  
    v_rec_class REC_CLASS;
    v_count number;
begin
    v_count := v_rec_class_list.count;
    p_code:=v_loginName;
    for i in 1..v_count 
       loop 
          v_rec_class:=v_rec_class_list(i); 
          p_msg:=v_rec_class.cname;
       end loop;
end test_inarray;


(3) 在iBATIS配置文件中加入,需要注意的时候,在定义返回参数的时候,需要指定typeName

        
       
          
    
   
    
       
    



 

你可能感兴趣的:(oracle)