## mybatis的xml文件调用存储过程函数
<!-- 执行存储过程 必须使用 statementType="CALLABLE"; -->
例如:<select id="getUserById" parameterType="java.lang.Integer" resultType="java.util.Map" statementType="CALLABLE"> </select>
<!-- 语法 { call 存储过程名称([参数]) }-->
例如:{call getUserById(#{id,mode=IN})}
[mybatis]Mapper.mxl中mode=IN,mode=OUT使用场景
需配合 statementType=“CALLABLE” 使用
存储过程有三种类型的参数,分别为 IN(输入参数),OUT(输出参数),INOUT(输入输出参数)。一个存储过程,可以有多个 IN 参数,至多有一个 OUT 或 INOUT 参数
实例:
创建getUserById存储过程
CREATE PROCEDURE getUserById(IN u_id INTEGER)
BEGIN
select id,name,age from t_user where id=u_id;
END
<!-- 根据id查询用户 -->
<select id="getUserById" parameterType="java.lang.Integer" resultType="java.util.Map" statementType="CALLABLE">
{call getUserById(#{id,mode=IN})}
</select>