Mybatis:调⽤存储过程获取输出参数、获取数据集(Mysql)在Mybatis调⽤Mysql的存储过程获取输出参数
mysql存储过程
create PROCEDURE p_getAreaList(in vfid int,out areas varchar(200))
BEGIN
SET @areas='ok';
SELECT * from mytable;//业务代码...
SET areas=@areas;//返回参数
END
接⼝DAO.java代码如下
// 获取区域名称队列
public List<HashMap<String, Object>> getAreaList(HashMap<String, Object> map);
使⽤List接收返回的数据集,⽤map传⼊参数,并⾃动带回出参值。
xml代码如下
<!-- 查询区域名称列表 -->
<select id="getAreaList" resultMap="userMap" parameterType="java.util.HashMap" statementType="CALLABLE">
{call p_getAreaList(#{fid},#{areas,mode=OUT,jdbcType=VARCHAR})}
mysql存储过程使用
</select>
注意:后⾯需要加上statementType参数,值为"CALLABLE"。call必须放在{ }⾥⾯(调⽤没有出参的存储过程时,可以省略{ },但带出参存储过程不可缺少),并且输出参数areas必须有mode=OUT修饰。否则⽆法获取到输出参数。
areas 是出参类型,执⾏完存储过程后,出参值会⾃动赋值给该值。还需要
Controller代码如下
hmap.put("fid", fid);
hmap.put("areas", "");
logger.("areas"));//获取返回的输出参数的值
使⽤(“areas”)即可获取到出参值。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。