簡體   English   中英

從MyBatis中的過程返回null

[英]Return null from procedure in MyBatis

我無法從過程中獲得價值。 它在表上進行插入,並且必須返回代碼。 數據已正確插入,但返回的代碼始終為null。

<parameterMap id="callParameters" type="Call" >
   <parameter property="client" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="originalAnalyst" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="currentAnalyst" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="analystType" jdbcType="INTEGER" mode="IN"/>
   <parameter property="category" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="product" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="process" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="problem" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="priority" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="status" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="serviceType" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="abstract" jdbcType="VARCHAR"  mode="IN" />
   <parameter property="descript" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="nullField" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="returnField" jdbcType="VARCHAR"  mode="OUT"/>
   <parameter property="callNumber" jdbcType="VARCHAR"  mode="OUT" />
   <parameter property="currentDate" jdbcType="TIMESTAMP" mode="IN"  />
   <parameter property="constant1" jdbcType="INTEGER" mode="IN"/>
   <parameter property="constant0" jdbcType="INTEGER" mode="IN"/>
</parameterMap>
<select id="open-call"  parameterMap="callParameters" resultType="Call"  statementType="CALLABLE">
   {call ADMAHD30.spr_AutoReq(#{returnField},#{constant1},#{callNumber},#{currentDate},#{client},#{originalAnalyst},#{currentAnalyst},#{analystType},#{category},#{product},#{process},#{problem},#{nullField},#{priority},#{status},#{serviceType},#{abstract},#{descript},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{nullField},#{constant0})}
 </select>

所有這些屬性在我的對象中正確地映射。 有什么不對?

我對myBatis有點生疏,但是如果您期望返回String,為什么resultType不是“ java.lang.String”?

編輯:關於使用resultMap而不是resultType(假設sp為返回參數指定了名稱)怎么辦:

<resultMap id="CallResultMap" type="com...Call">
        <result property="callNumber" column="callNumberCol"/>
        <result property="returnField" column="returnFieldCol"/>
</resultMap>

然后將結果參數包含在parameterMap中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM