我無法從過程獲取值。它在表上執行插入操作,並且必須返回一個代碼。數據插入正確,但返回的代碼始終爲空。從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>
所有這些屬性都正確映射到我的對象中。有什麼不對?
你正在使用哪個數據庫? –
Oracle。我無法更改任何程序或表格。他們來自另一個應用程序。 – nataliaoliveira
'returnField'不作爲過程的任何參數傳遞。我猜一個'nullFields'應該可能是'returnField'而不是? – andersschuller