<select id="getUseableMzhm" statementType="CALLABLE" parameterType="java.util.Map"> EXEC BSOFT_PRO_GET_MAX @IDENTITY = #{IDENTITY,mode=IN,jdbcType=VARCHAR}, @TABLENAME = #{TABLENAME,mode=IN,jdbcType=VARCHAR}, @COUNT = #{COUNT,mode=IN,jdbcType=NUMERIC}, @DQZ = #{DQZ,mode=OUT,jdbcType=NUMERIC} </select>报错提示Invalid JDBC call escape at line position 6.
时间: 2023-10-10 11:07:46 浏览: 149
mybatis教程之增删改查_动力节点Java学院整理
这个错误提示表明在调用存储过程时出现了无效的JDBC调用转义字符。可能是因为你的MyBatis配置文件中的`jdbcTypeForNull`属性设置不正确导致的。你可以尝试在`<configuration>`标签下添加以下配置来修复这个问题:
```
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
```
或者,在调用存储过程语句前添加`{call}`前缀,如下所示:
```
<select id="getUseableMzhm" statementType="CALLABLE" parameterType="java.util.Map">
{call BSOFT_PRO_GET_MAX (
@IDENTITY = #{IDENTITY,mode=IN,jdbcType=VARCHAR},
@TABLENAME = #{TABLENAME,mode=IN,jdbcType=VARCHAR},
@COUNT = #{COUNT,mode=IN,jdbcType=NUMERIC},
@DQZ = #{DQZ,mode=OUT,jdbcType=NUMERIC}
)}
</select>
```
这种方式会告诉JDBC驱动程序调用存储过程。
阅读全文