函数是这样的:create or replace function fun_InsertPerson
(
  p_id   out number,
  p_user_name varchar2,
  p_password   varchar2,
  p_real_name  varchar2,
  p_birthday   date
)
return varchar2
is
returnVal varchar2(50);
begin
  select seq_personid.nextval into p_id from dual;
  insert into person(id,user_name,password,real_name,birthday)
  values(p_id,p_user_name,p_password,p_real_name,p_birthday);
  returnVal := p_user_name;
  return (returnVal);
end;在pl sql中这样调用
declare
  p_id  number;
  p_user_name varchar2(50);
begin
  p_user_name := fun_InsertPerson(p_id,'test','111111','test',sysdate);  
  dbms_output.put_line(p_id);
  dbms_output.put_line(p_user_name);
end;我现在要用iBatis调用,map文件怎么写呢
注意不是过程,而是函数,这是以前的人写了很多的函数,iBatis可以直接调用吗
iBatis调用过程我知道这样写的:
<procedure       调用函数怎么写呢

解决方案 »

  1.   

    参考oracle函数第一个例子不错
      

  2.   


    ibatis一直只用sql。只能给点参考了参考。。、ibatis专题
      

  3.   

    是用.net开发的
    map文件怎么写呢
      

  4.   

    在网上看到这样的资料
    3对于返回值为一般数据类型的函数:函数:  Function DeleteCommand(v_commandid Number,v_commandsetid Number default 0,v_dbid Number default 0) return Number ;采用如下方式处理(把返回值当作出参来处理OUT):  <parameterMap id="CommandDeleteById" class="java.util.Map">
            <parameter property="result" jdbcType="VARCHAR"
               javaType="java.lang.String" mode="OUT" /> 
            <parameter property="commandId" jdbcType="NUMBER"
                javaType="java.lang.Integer" mode="IN" />
            <parameter property="commandsetId" jdbcType="NUMBER"
                javaType="java.lang.Integer" mode="IN" />
            <parameter property="dbId" jdbcType="NUMBER"
                javaType="java.math.BigDecimal" mode="IN" />
        </parameterMap> <procedure id="Command_deleteById"
            parameterMap="CommandDeleteById">
           { ? = call truleadmin.DeleteCommand(?,?,?)}asp.net怎么写呢