Mybatis:调用存储过程获取输出参数、获取数据集(Mysql)
在Mybatis调用Mysql的存储过程获取输出参数mysql存储过程create PROCEDURE p_getAreaList(in vfid int,out areas varchar(200))BEGINSET @areas='ok';SELECT * from mytable;//业务代码...SET areas=@areas;//返回参数END接口DAO.java代码如下// 获取区域
·
在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})}
</select>
注意:后面需要加上statementType参数,值为"CALLABLE"。call必须放在{ }里面(调用没有出参的存储过程时,可以省略{ },但带出参存储过程不可缺少),并且输出参数areas必须有mode=OUT修饰。否则无法获取到输出参数。
areas 是出参类型,执行完存储过程后,出参值会自动赋值给该值。还需要
Controller代码如下
hmap.put("fid", fid);
hmap.put("areas", "");
userDao.getAreaList(hmap);
logger.info(hmap.get("areas"));//获取返回的输出参数的值
使用map.get(“areas”)即可获取到出参值。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)