com.microsoft.sqlserver.jdbc.SQLServerException: “OUT”附近有语法错误。

调用存储过程的时候报错:com.microsoft.sqlserver.jdbc.SQLServerException: “OUT”附近有语法错误。

img

下面是配置文件,困扰好久了

    <mapper namespace="com.xie.develop.mapper.second.MaterialStorageMapper">
    <parameterMap id="testMaster" type="java.util.Map">
        <parameter property="zzid" jdbcType="BIGINT"  mode="OUT"></parameter>
        <parameter property="zzbm" jdbcType="VARCHAR" mode="IN"></parameter>
        <parameter property="pareid" jdbcType="BIGINT" mode="OUT"></parameter>
        <parameter property="wlid" jdbcType="BIGINT" mode="OUT"></parameter>
        <parameter property="wlbm" jdbcType="VARCHAR" mode="IN"></parameter>
        <parameter property="wlmc" jdbcType="VARCHAR" mode="OUT"></parameter>
        <parameter property="lpsx" jdbcType="BIGINT" mode="OUT"></parameter>
        <parameter property="kcl" jdbcType="DECIMAL" mode="OUT"></parameter>
        <parameter property="yll" jdbcType="DECIMAL" mode="OUT"></parameter>
        <parameter property="ylzykcdwsl" jdbcType="DECIMAL" mode="OUT"></parameter>
        <parameter property="kyl" jdbcType="DECIMAL" mode="OUT"></parameter>
        <parameter property="ccdd" jdbcType="VARCHAR" mode="OUT"></parameter>
        <parameter property="ccddbm" jdbcType="VARCHAR" mode="OUT"></parameter>
        <parameter property="ccdw" jdbcType="VARCHAR" mode="OUT"></parameter>
    </parameterMap>
        <select id="SelectMasList"  statementType="CALLABLE"  useCache="false" parameterMap="testMaster">
            {call Cust_SO_INVInfo_Proc(
           #{zzid,jdbcType=BIGINT,mode=OUT},
           #{zzbm,mode=IN},
           #{pareid,mode=OUT,jdbcType=BIGINT},
           #{wlid,mode=OUT,jdbcType=BIGINT},
           #{wlbm,mode=IN},
           #{wlmc,mode=OUT,jdbcType=VARCHAR},
            #{lpsx,mode=OUT,jdbcType=INTEGER,javaType=java.lang.Integer},
            #{kcl,mode=OUT,jdbcType=DECIMAL},
            #{yll,mode=OUT,jdbcType=DECIMAL},
            #{ylzykcdwsl,mode=OUT,jdbcType=DECIMAL},
            #{kyl,mode=OUT,jdbcType=DECIMAL},
            #{ccdd,mode=OUT,jdbcType=VARCHAR},
            #{ccddbm,mode=OUT,jdbcType=VARCHAR},
            #{ccdw,mode=OUT,jdbcType=VARCHAR};
            )}
        </select>

参考:

<parameterMap type="java.util.HashMap" id="param" >
         <parameter property="orderId" jdbcType="VARCHAR"  javaType="java.lang.String"  mode="OUT"/>  
    </parameterMap>
    <select id="getOrderId" parameterMap="param" resultType="string" statementType="CALLABLE">
        {call up_getFactOrder(#{itemType,mode=IN},#{orderId,mode=OUT,jdbcType=VARCHAR})}
    </select>