首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2013-03-26 
ibatis调用oracle存储过程返回结果为boolean的问题存储过程定义:PROCEDURE PROC_LIQUIDATE(P1 NUMBER, P2

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"/>
应该这样才对。。
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

热点排行