我对返回真/假值的 Oracle 存储过程有以下 iBatis 映射。
<resultMap id="isAuthorizedResult" class="java.lang.Boolean">
<result property="isAuthorized" column="isAuthorized"/>
</resultMap>
<parameterMap id="isAuthorizedCall" class="map">
<parameter property="prgType" jdbcType="String" javaType="java.lang.String" mode="IN"/>
<parameter property="parCode" jdbcType="String" javaType="java.lang.String" mode="IN"/>
<parameter property="userId" jdbcType="String" javaType="java.lang.String" mode="IN"/>
<parameter property="Result0" jdbcType="ORACLECURSOR" javaType="java.sql.ResultSet" mode="OUT" resultMap="isAuthorizedResult"/>
</parameterMap>
<procedure id="isAuthorized" parameterMap="isAuthorizedCall">{call chk_user_ocpncy (?,?,?,?) }</procedure>
我从我的 Java 代码中调用映射,如下所示:
getSqlMapClientTemplate().queryForObject("reexamination.isAuthorized", paramMap);
但是,我收到以下错误...
Fail to convert to internal representation; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
我究竟做错了什么?我们不能将布尔值直接存储到游标中吗?