折腾了一上午才顺利的把这个跑通了,废话不多说,上代码!
1.存储过程返回一个String
CREATE PROCEDURE `sp_redblack_prize`(OUT result_record varchar(2000000)){……}
2.在mapper.xml中
在这里要注意:Set resultType="map" on <select> element. I think for stored proc output parms you either need a map, or an object with getters/setters.
<select id="spRedBlack" statementType="CALLABLE" parameterType="java.util.Map"
resultType="java.util.Map">
{CALL sp_redblack_prize(#{result,mode=OUT,jdbcType=VARCHAR}) }
</select>
3.在mapper.java中
String spRedBlack(Map param);
4.在service中调用的方法
HashMap params = new HashMap();
params.put("result", "");
this.gamblingRedBlackDAO.spRedBlack(params);
String result = (String) params.get("result");
注:statementType的类型分为:
statement未预编译;
prepared预编译(默认);
callable存储过程;