您的位置:首页 > 编程语言 > PHP开发

mybatis调用存储过程并且有多个返回output值

2017-10-12 20:40 330 查看
mapperxml配置

配置时需要注意

parameterMap在mybatis3.2.6版本已经不再用了,而是使用

parameterType


<select id="callgetId" parameterType="java.util.HashMap" statementType="CALLABLE">
exec sp_GetID #{RemoteId,mode=IN,jdbcType=NVARCHAR},
#{cAcc_Id,mode=IN,jdbcType=NVARCHAR},
#{cVouchType,mode=IN,jdbcType=NVARCHAR},#{iAmount,mode=IN,jdbcType=INTEGER},
#{iFatherId,mode=OUT,jdbcType=INTEGER},#{iChildId,mode=OUT,jdbcType=INTEGER}
</select>


Map<String,Object> paraMap=new HashMap<String, Object>();
paraMap.put("RemoteId", "00");
paraMap.put("cAcc_Id", "005");
paraMap.put("cVouchType", "DISPATCH");
paraMap.put("iAmount", 1);
paraMap.put("iFatherId", null);
paraMap.put("iChildId", null);

int maxid;

dispatchlistDao.callgetId(paraMap); //注意:这里并非是返回值,执行完存储过程后,
    //后两个output值自动会写进去的。一直没有明白,所以在配置的xml不需要设置resultType

maxid=Integer.parseInt(paraMap.get("iFatherId").toString());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: