您的位置:首页 > 其它

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

2016-03-07 13:03 465 查看
一、创建存储过程

存储过程的目的:统计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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: