(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
<parameterMap id="cus_rs" class="java.util.HashMap">
<parameter property="sid" jdbcType="VARCHAR" javaType="java.lang.Long" mode="IN"></parameter>
<parameter property="mydata" jdbcType="ARRAY" mode="OUT" typeName="TYPEUNITSET"></parameter>
</parameterMap>
<procedure id="AtestStudent.getPrcOutInfo" parameterMap="cus_rs">
<![CDATA[
{call MYPROC(?,?)}
]]>
</procedure>