ibatis與springmvc出現Check the result mapping for the 'xxx' property的錯誤
阿新 • • 發佈:2019-01-08
有與專案需要,將資料庫中的一個表增加了一個欄位。
隨後PO類也跟著增加一個欄位。在ibatis的配置文集中需要修改resultMap,增加一個result。
如下:
修改前
修改後<resultMap id="privilege" class="com.hsfund.framework.pojo.Privilege"> <result property="id" column="I_ID"/> <result property="name" column="VC_NAME"/> <result property="privKey" column="VC_PRIV_KEY"/> <result property="privType" column="C_PRIV_TYPE"/> <result property="privUrl" column="VC_PRIV_URL"/> <result property="privDesc" column="VC_PRIV_DESC"/> <result property="parentId" column="I_PARENT_ID"/> </resultMap>
<resultMap id="privilege" class="com.hsfund.framework.pojo.Privilege"> <result property="id" column="I_ID"/> <result property="name" column="VC_NAME"/> <result property="privKey" column="VC_PRIV_KEY"/> <result property="privType" column="C_PRIV_TYPE"/> <result property="privUrl" column="VC_PRIV_URL"/> <result property="privDesc" column="VC_PRIV_DESC"/> <result property="parentId" column="I_PARENT_ID"/> <result property="imgPath" column="VC_IMG_PATH"/> </resultMap>
但是專案重新執行時出現瞭如標題所述的異常。
問題困擾我很久,之前也出現過,但是莫名其妙的就好了,不知道是什麼原因。(現在想想,估計是伺服器快取的原因吧、或者是ibatis內部的問題)
解決辦法
保持“修改前”的resultMap不變。從新增加一個。如下:
之前的保持不變:
<resultMap id="privilege" class="com.hsfund.framework.pojo.Privilege"> <result property="id" column="I_ID"/> <result property="name" column="VC_NAME"/> <result property="privKey" column="VC_PRIV_KEY"/> <result property="privType" column="C_PRIV_TYPE"/> <result property="privUrl" column="VC_PRIV_URL"/> <result property="privDesc" column="VC_PRIV_DESC"/> <result property="parentId" column="I_PARENT_ID"/> </resultMap> 重新定義一個resultMap(<span style="color:#FF0000;"><span style="background-color: rgb(255, 255, 255);">之前的id為privilege,新增加的id為privilege2</span></span>),在其他sql語句標籤引用時 引用privilege2就可以了。 <pre name="code" class="html">
重新定義一個resultMap,之前的id為privilege,新增加的為privilege2.
<resultMap id="privilege2" class="com.hsfund.framework.pojo.Privilege">
<result property="id" column="I_ID"/>
<result property="name" column="VC_NAME"/>
<result property="privKey" column="VC_PRIV_KEY"/>
<result property="privType" column="C_PRIV_TYPE"/>
<result property="privUrl" column="VC_PRIV_URL"/>
<result property="privDesc" column="VC_PRIV_DESC"/>
<result property="parentId" column="I_PARENT_ID"/>
<result property="imgPath" column="VC_IMG_PATH"/>
</resultMap>
修改之後相關的引用resultMap指出,重新啟動專案,執行正常。
真奇怪。說實話,我現在也不清楚到底是什麼原因