当前位置: 代码迷 >> Java Web开发 >> ibatis调用oracle存储过程返回结果为boolean的有关问题
  详细解决方案

ibatis调用oracle存储过程返回结果为boolean的有关问题

热度:1824   发布时间:2013-02-25 21:15:15.0
ibatis调用oracle存储过程返回结果为boolean的问题
存储过程定义:
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"/>
应该这样才对。。
  相关解决方案