天天看點

mybatis調用oracle存儲過程的幾個參考例子

首先寫一個存儲過程:

create or replace procedure p_syn_equipment_20161205 is
  sqlstr varchar2(4000);
begin
  --清空表
  sqlstr := \'truncate table staff_20161205\';
  execute immediate sqlstr;
  --插入資料
  sqlstr := \'insert into staff_20161205 select * from tb_base_staff s where s.staff_name like \'\'王%\'\' \';
  execute immediate sqlstr;
  commit;
end;      

在xml檔案中調用

無參數:

<select id="queryStaffs" parameterType="java.util.Map">
        <![CDATA[ 
            call p_syn_equipment_20161205() 
        ]]> 
</select>      

有參數:

<select id="createOssEquipment" parameterType="java.util.Map">
        <![CDATA[ 
          call P_SYNCOSSEQUIPMENT(#{jndi,mode=IN,jdbcType=VARCHAR}, #{res_spec_id,mode=IN,jdbcType=VARCHAR}) 
        ]]>
</select>      
<select id="createDynamicOssEquipment" parameterType="java.util.Map">
        <![CDATA[ 
          call P_SYNC_DYNAMIC_OSSEQUIPMENT(#{jndi,mode=IN,jdbcType=VARCHAR}) 
        ]]>
</select>      
mybatis調用oracle存儲過程的幾個參考例子