使用iBatis调用存储过程

时间:2013-10-18 12:43:10

标签: mysql stored-procedures ibatis

我有以下iBatis声明:

<select id="validateLogin" parameterType="Account" statementType="CALLABLE">
    { CALL PROC_LOGIN
        (
            #{account_name, jdbcType=VARCHAR, mode=IN},
            #{password, jdbcType=VARCHAR, mode=IN},
            #{fname, jdbcType=VARCHAR, mode=OUT},
            #{lname, jdbcType=VARCHAR, mode=OUT},
            #{account_name, jdbcType=VARCHAR, mode=OUT},
            #{status, jdbcType=INTEGER, mode=OUT},
            #{loginStatus, jdbcType=VARCHAR, mode=OUT}
        )
    }
</select>

但是我收到了Attribute "parameterType" must be declared for element type "select"Attribute "statementType" must be declared for element type "select"

我是iBatis的新手,我没有太多关注如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

尝试使用“procedure”和“parameterMap”标签调用它。示例(more information here):

<procedure id="getEmpInfo" resultClass="Employee" parameterMap="getEmpInfoCall">
   { call getEmp( #acctID# ) } 
</procedure>
<parameterMap id="getEmpInfoCall" class="map">
   <parameter property="acctID" jdbcType="INT" javaType="java.lang.Integer" mode="IN"/>
</parameterMap>