2012-01-27 123 views
3

每當我嘗試在查詢中使用參數時,都會收到「無效列類型」SQLException。數據庫字段「assessment_id」是oracle中的「NUMBER(15)」類型。如果我將#{value}更改爲1,則它會正常工作並返回關注對象的列表。但是,當我嘗試使用此參數時,我得到了SQL異常。我仍然不確定要爲XML中的變量名添加什麼,我嘗試使用與傳入的變量相同的名稱。使用參數類型時MyBatis無效列類型int

這是我的映射器配置。

<mapper namespace="ConcernMap"> 
<resultMap id="ConcernResult" type="com.xxx.name.model.Concern" > 
    <result column="insCurrent" property="insCurrent"/> 
</resultMap> 

<select id="fetchConcernsByWorkflowId" parameterType="int" resultMap="ConcernResult"> 
    SELECT 
    INSURANCE_CURRENT as insCurrent 
    from KOR_CONCERN where assessment_id = #{value} 
</select> 
</mapper> 

回答

6

嘗試增加jdbcType=NUMERIC到您的查詢

SELECT 
INSURANCE_CURRENT as insCurrent 
from KOR_CONCERN where assessment_id = #{value,jdbcType=NUMERIC} 
+0

,完美的工作,謝謝! – 2012-01-27 14:58:41