mybatis调用存储过程并且有多个返回output值
Posted 来自于四明山的码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis调用存储过程并且有多个返回output值相关的知识,希望对你有一定的参考价值。
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());
以上是关于mybatis调用存储过程并且有多个返回output值的主要内容,如果未能解决你的问题,请参考以下文章
从java调用oracle存储过程时在mybatis mapper中映射多个out参数
springboot mybatis-plus 调用 sqlserver 的 存储过程 返回值问题