一、Mybatis调用Orcle中的存储过程
//statementType里的CALLABLE是标注此sql为存储过程。
<select id="updateByProcedure" parameterType="java.util.Map" statementType="CALLABLE">
{call UPDATE_USER(#{user_id,mode=IN,jdbcType=INTEGER},
#{user_name,mode=IN,jdbcType=VARCHAR},
#{result_code,mode=OUT,jdbcType=INTEGER},
#{result_msg,mode=OUT,jdbcType=VARCHAR})}
</select>
代码调用该存储过程:
//使用map传入参数
HashMap<Object, Object> map = new HashMap<>();
map.put("user_id", 8);
map.put("user_name", "张三");
//调用存储过程
sysUserMapper.updateByProcedure(map);
//获取存储过程的输出参数
String resultCode = map.get("result_code").toString();
二、Mybatis调用SQLServer中的存储过程
<select id="selectByProcedure" parameterType="java.lang.String"
resultMap="ResultMap">
exec pro_user #{useName}, #{deptNo}
</select>
//这边是查询出sys_user的列表信息
项目中有用到,所以记录一下,方便自己以后查看。