oracle ,ibitis 存储过程的调用

来源:互联网 发布:c如何定义一维数组 编辑:程序博客网 时间:2024/06/06 05:14

//oracle中存储过程创建

create or replace procedure insdate(n_ins in varchar,n_categoryId in varchar,n_result out number) is  pro_row re_productinfo%rowtype;  v_count  number(2);begin  v_count := 0;  for pro_row in (select *  from re_productInfo product)   loop    select count(*) into v_count from re_productinfo pro where pro.periods=n_ins and pro.productcategoryid=n_categoryId ;    if v_count = 0 then     n_result :=1;     else     n_result :=2;    end if;  end loop;  commit;end;
//sql调用存储过程  

 <parameterMap class="java.util.Map" id="insdateParameter">    <parameter property="ins"  javaType="java.lang.String" jdbcType="VARCHAR"  mode="IN"/>   <parameter property="productCategoryId"  javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>   <parameter property="result"  javaType="java.lang.Integer" jdbcType="INTEGER"   mode="OUT"  resultMap="n-result"/>  </parameterMap>   <resultMap class="java.util.Map" id="n-result">  <result property="result"  javaType="java.lang.Integer"    />   </resultMap><procedure id="getperiodsBycategoryId" parameterMap="insdateParameter"  >         {call insdate(?,?,?)}      </procedure>

//代码调用存储过程

public Integer getperiodsBycategoryId(Map<String, Object> insdateParameter) {this.getSqlMapClientTemplate().queryForObject("test.getperiodsBycategoryId", insdateParameter); return (Integer) insdateParameter.get("result");}


0 0
原创粉丝点击