ibatis 调用存储过程

时间:2022-05-08 15:46:14

ibatis 调用存储过程

CreationTime--2018年8月15日19点38分

Author:Marydon

1.返回系统游标集合

  第一步:返回值,将返回值封装到HashMap中

<resultMap class="java.util.HashMap" id="directoryMonitor_out_cursor">
    <!-- column代表的是返回的字段,property代表的是HashMap的键,指定具体的键负责接收 -->    
    <result property="FORGID" column="FORGID"/>
    <result property="FORGNAME" column="FORGNAME"/>
    <result property="FCENNAME_TEM_COUNT" column="FCENNAME_TEM_COUNT"/>
    <result property="ISNULLCENCODE_COUNT" column="ISNULLCENCODE_COUNT"/>
    <result property="TOTALCOUNT" column="TOTALCOUNT"/>
</resultMap>

  第二步:参数配置(入参、出参)

<!-- property属性指定HashMap的具体键,虽然Map是无序的但是存储过程的入参顺序会按照parameter标签的排列顺序执行,mode属性指定入参或返回值 -->
<parameterMap class="java.util.HashMap" id="SHEHE_ERROR_Map">
    <parameter property="FRCODE" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
    <parameter property="FORGID" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
    <parameter property="START" jdbcType="NUMBER" javaType="java.lang.Integer" mode="IN" />
    <parameter property="END" jdbcType="NUMBER" javaType="java.lang.Integer" mode="IN" />
    <parameter property="out_cur" resultMap="directoryMonitor_out_cursor" javaType="java.sql.ResultSet" jdbcType="ORACLECURSOR" mode="OUT" />
</parameterMap>

  第三步:调用存储过程

<!-- ?号的个数须与<parameter>标签的个数保持一致 -->
<procedure id="getSHEHE_ERROR_DATA" parameterMap="SHEHE_ERROR_Map">
       <![CDATA[
          {call PRC_DIAITEM_MONITOR(?,?,?,?,?)}
       ]]>
</procedure>