Mybatis-Plus中调用MySQL中的存储过程

存储过程

CREATE DEFINER=`root`@`%` PROCEDURE `pro_index_data`(IN `areaCode` varchar(50),OUT `deviceSum` int,OUT `abnormal` int,OUT `areaSum` int)
BEGIN
	if areaCode is not NULL then
select count(id) from  dma_device_info  where device_type=-1 and FIND_IN_SET(area_pid,areaCode)>0 into deviceSum;
select count(id) from  dma_device_info  where device_type=-1 and device_status=2  and FIND_IN_SET(area_pid,areaCode)>0 into abnormal;
select count(DISTINCT(device_area)) from  dma_device_info  where device_type=-1 and FIND_IN_SET(area_pid,areaCode)>0 into areaSum;
ELSE
select count(id) from  dma_device_info  where device_type=-1  into deviceSum;
select count(id) from  dma_device_info  where device_type=-1 and device_status=2  into abnormal;
select count(DISTINCT(device_area)) from  dma_device_info  where device_type=-1  into areaSum;
END IF;


END

Mybatis-Plus调用

<select id="queryDeviceCount" parameterType="java.util.Map" statementType="CALLABLE">
        {
            call
            pro_index_data(
            #{areaCode,mode=IN,jdbcType=VARCHAR},
            #{deviceSum,mode=OUT,jdbcType=INTEGER},
            #{abnormal,mode=OUT,jdbcType=INTEGER},
            #{areaSum,mode=OUT,jdbcType=INTEGER}
            )
        }
    </select>

mapper层

在这里插入图片描述

service层调用

在这里插入图片描述
注:参数名保持一致。调用该存储过程后,输出参数值会返回到传参的Map中,直接get对应的键即可。

关注微信公众号【川蜀程序猿】,领取海量简历模板!!
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值