第一个存储过程案例(无返回值)
创建存储过程
创建一个存储过程根据id查询用户的数量,存储过程如下:
create procedure queryOrderCountWithProcedure(in uId INT, out ocount int)
BEGIN
select count(1) into ocount from orders where uid = uId;
END;
mapper.xml中进行配置
<select id="queryOrderCountWithProcedure" statementType="CALLABLE" parameterType="hashMap">
{
CALL queryOrderCountWithProcedure(
#{uid, jdbcType=INTEGER, mode=IN},
#{ocount, jdbcType=INTEGER, mode=OUT}
)
}
</select>
- 如果调用的是存储过程就需要写statementType属性,并且值是CALLABLE
- 使用存储过程的时候入参类型(parameterType)一般是使用hashMap,当然也可以不写parameterType属性,因为默认的就是使用使用hashMap作为入参的形式。
- 这里没有写returnType,即使写了也需要注意的是存储过程里面的输出参数和这里的输出参数是不一样的。比如这里的存储过程有一个输出参数。但是这里的输出参数不是这个方法