MyBatis的学习总结:调用存储过程【参考】

本文介绍了一个使用MyBatis调用MySQL存储过程的例子,存储过程用于统计正在运行和非运行状态的任务数量。文章展示了两种参数传递方式,并详细解释了XML映射文件的配置。

一、创建存储过程

 存储过程的目的:统计edi_test_task 正在运行的任务和非运行的任务

复制代码
CREATE DEFINER=`root`@`%` PROCEDURE `edihelper`.`SP_ISRunning_Count`(IN run_id  INT ,OUT num INT)
BEGIN
  IF run_id=0 THEN
        select count(*) from edi_test_task where is_running=true INTO num;
   ELSE
        select count(*) from edi_test_task where is_running=false INTO num;
    END IF;
END
复制代码

二、SQL映射文件

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.cn.mybatis.mapper.taskProMapper">
<!-- 方式一:参数直接写在代码中 -->
    <select id="spTkNo" resultMap="Map" statementType="CALLABLE">
         CALL edihelper.SP_ISRunning_Count(
         #{run_id,jdbcType=INTEGER,mode=IN},
         #{num,jdbcType=INTEGER,mode=OUT})
    </select>
    <!-- 方式二:参数 -->
    
    <select id="spTkNo" parameterMap="getTkCountMap" statementType="CALLABLE">
         CALL edihelper.SP_ISRunning_Count(?,?)
    </select>
    
     <parameterMap type="java.util.Map" id="getTkCountMap">
         <parameter property="sexid" mode="IN" jdbcType="INTEGER"/>
         <parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>
     </parameterMap>
</mapper>
复制代码

转载于:https://www.cnblogs.com/chinaifae/p/10342643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值