存储过程定义:
PROCEDURE PROC_LIQUIDATE(P1 NUMBER, P2 NUMBER, P3 NUMBER, RESULT IN OUT BOOLEAN, MSG IN OUT VARCHAR2);
------------------------------------
ibatis sqlMap.xml:
<parameterMap class="Map" id="PROC_LIQUIDATEparam">
<parameter property="p1" jdbcType="INTEGER" javaType="java.lang.Long" mode="IN"/>
<parameter property="p2" jdbcType="INTEGER" javaType="java.lang.Long" mode="IN"/>
<parameter property="p3" jdbcType="INTEGER" javaType="java.lang.Long" mode="IN"/>
<parameter property="retBool" jdbcType="CHAR" javaType="java.lang.Boolean" mode="INOUT"/>
<parameter property="retMsg" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
</parameterMap>
上述parameterMap经测试结果总是不对,总是报参数个数不对,或者参数类型冲突。
请问这里的sqlMap应该如何配置 ,特别是针对boolean类型的jdbcType于javaType如何映射?
------解决方案--------------------------------------------------------
查了下JDK API类java.sql.Types
static int BOOLEAN 标识一般 SQL 类型 BOOLEAN 的 Java 编程语言中的常量(有时称为类型代码)。
<parameter property="retBool" jdbcType="BOOLEAN" javaType="java.lang.Boolean" mode="INOUT"/>
应该这样才对。。