mybatis版本:3.4.4sql
一、mapper.xml文件中配置相关的sql语句。mybatis
<select id="callTest" statementType="CALLABLE" > { call hasResource( #{param1,mode=IN}, #{param2,mode=IN}, #{param3,mode=OUT,jdbcType=INTEGER} ) } </select>
注意:parameterMap已被舍弃,请直接在sql语句中定义传参类型。app
注意:OUT参数必须指定jdbcType函数
二、定义mapper接口中的方法spa
void callTest(Map<String, Object> params);
注意:若是存储过程当中有OUT参数,调用时的传参只能是Map类型,调用结束后从Map中根据OUT参数的名称获取返回的数据。若是没有OUT参数,能够使用@Param方式定义接口中的传参。code
注意:在Mysql中,定义OUT参数为游标类型,好像很复杂,没找到相关资料。官网的存储过程文档特少,不知道是否是找错地方了。xml
注意:若是存储过程执行过程当中有sql调用,可做为存储过程的执行结果返回,同基本的select定义相似,增长resultMap或resultType参数,mapper接口增长返回参数类型。blog
mapper.xml配置接口
<select id="callTest" resultType="int" > select functionTest(#{params1}, #{param2}) from dual; </select>
mapper接口中的方法为基本方法传参和返回数据。文档