mybatis调用mysql存储过程(返回参数,单结果集,多结果集)

mybatis调用mysql存储过程(返回参数,单结果集,多结果集),第1张

mybatis调用mysql存储过程(返回参数,单结果集,多结果集)

注: RETCODE、RETDESC 这里的输出值不用在函数里 SELECT RETCODE,因为即使没有,当执行成功后会自动返回在对象里(Object/Map),所以在函数里不用SELECT一下了。

Navicat中执行函数需要输入参数值,也是对应图1,@A@B表示输出值。(一个输入值两个输出值)

1. 标注一二三四五处如果存在,则执行成功后返回结果如下

标注一对应结果1

标注二对应结果2

标注三对应结果3

标注四对应结果4

标注五对应结果5

其中结果3返回的是集合。

存在这么多结果,想要取结果3中的集合是不好取的,只有像下图一样只有一个结果才好取出集合。

2. 标注一二四五处如果不存在,则执行成功后返回结果如下

只有结果1,对应的是标注三处的值。可以取出集合

函数p_duplicate_enroll

mysql中要获得存储过程的返回值,可以增加一个out参数,用来返回。

mysql中存储过程的例子:

CREATE PROCEDURE addvoucher (

IN userid INT,

IN voucherid INT,

OUT result INT

)

BEGIN

SELECT

@endate_a := endate ,@batch_a := batch ,@c_count_a := c_count,

@isdead_a := isdead

FROM

t_voucher

WHERE

id = voucherid


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7344177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存