Mybatis 调用数据库的存储过程


1、语法

Mybatis调用存储过程的写法与查询sql调用相同,Mapper xml文件的书写也是用select标签,sql用call 存储过程名 (参数):

id: 与java接口方法名一致
statementType:申明为CALLABLE,表示存储过程

2、一个参数的写法

mapper文件示例代码:

    <select id="callCopyPro" statementType="CALLABLE" parameterType="String">
        {call P_COPY_STUDENT(#{student_id,jdbcType=VARCHAR})}
    select>

3、多个参数的写法

mapper文件示例代码

    <select id="calculateScore" statementType="CALLABLE" parameterType="java.util.HashMap">
        {call p_calculate_score (
        #{STUDET_ID,mode=IN,jdbcType=VARCHAR},
        #{OUT_CODE,mode=OUT,jdbcType=VARCHAR},
        #{OUT_SCORE,mode=OUT,jdbcType=VARCHAR})
        }
    select>

语法大体是一样的,需要注意的是参数那里,多了一个配置项mode,表示存储过程的入参IN或者是出参OUT

你可能感兴趣的:(Mybatis 调用数据库的存储过程)