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接口中的方法爲基本方法傳參和返回數據。文檔