存储过程的调用是使用<procedure>元素来调用的, 下面是一个使用带输出参数的存储过程的例子:
<parameterMap id=”swapParameters” class=”map” >
<parameter property=”email1″ jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”INOUT”/>
<parameter property=”email2″ jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”INOUT”/>
</parameterMap>
如果你的存储过程返回一个结果集,那么使用queryForList()或者queryForObject来调用, 如果你的存储过程既返回结果集又更新数据库数据,那么需要配置<transactionManager>的commitRequired=’true’
如果存储过程不返回结果集,或者仅仅以输出参数的形式返回结果集,那么应该使用update()方法。
<procedure id=”swapEmailAddresses” parameterMap=”swapParameters” >
{call swap_email_address (?, ?)}
</procedure>