在 SSM 框架中,需要调用存储过程,与平常的 Dao 接口调用相比,调用存储过程有什么变化呢?
在我的例子中,框架是已经搭建好的,这里只是展示 Dao 层和 mapper 中的配置。
mapper 文件中的 SQL 配置如下:
<select id="callWorkflow" parameterType="map" statementType="CALLABLE">
{
call SP_WORKFLOW(
#{pteNo,mode=IN,jdbcType=VARCHAR},
#{busType,mode=IN,jdbcType=VARCHAR},
#{operate,mode=IN,jdbcType=VARCHAR},
#{errCode,mode=OUT,jdbcType=VARCHAR},
#{errMsg,mode=OUT,jdbcType=VARCHAR}
)
}
</select>
Dao层的接口定义如下:
Map<String,Object> callWorkflow(Map<String, Object> map);
存储过程定义的如下:
CREATE OR REPLACE PROCEDURE "SP_WORKFLOW"(
PTE_NO VARCHAR2,
BUS_TYPE VARCHAR2,
operate varchar2,
ERR_CODE OUT VARCHAR2,
ERR_MSG OUT VARCHAR2)
...