mybatis關於一對一對映返回結果與資料庫查出的不符問題
最近在做mybatis一對一對映時出現個錯誤,就是返回結果與資料庫查出來的結果不符合,可能碰到這個問題的人比較少,
但在這記錄一下,方便有時間找到原因。
先來程式碼
<resultMap id="userDynamicMap" type="UserDynamicTO">
<result property="income" column="INCOME"/>
<result property="takedCash" column="TAKED_CASH"/>
<result property="takingCash" column="TAKING_CASH"/>
<result property="balance" column="BALANCE"/>
<result property="forbidCommitBeginDate" column="FORBID_COMMIT_BEGIN_DATE"/>
<result property="forbidCommitEndDate" column="FORBID_COMMIT_END_DATE"/>
<association property="user" javaType="UserTO">
<result property="id" column="ID"/>
<result property="nickName" column="NICKNAME"/>
<result property="num" column="NUM"/>
<result property="shareCode" column="SHARE_CODE"/>
<result property="alipayAccount" column="ALIPAY_ACCOUNT"/>
<result property="status" column="STATUS"/>
<result property="gender" column="GENDER"/>
<result property="birthday" column="BIRTHDAY"/>
<result property="jobTitle" column="JOB_TITLE"/>
</association>
</resultMap>
這一段是UserDynamicTO物件中包含UserTO物件,是一對一關係所以用association進行一對一關聯,但是查出來的結果對不上,
上網查詢一下有人說是因為select的時候查詢的列跟resultMap對不上,也有人說一些其他原因,但是就沒有我的這種情況。
但是改成
<resultMap id="userDynamicMap" type="UserDynamicTO">
<result property="income" column="INCOME"/>
<result property="takedCash" column="TAKED_CASH"/>
<result property="takingCash" column="TAKING_CASH"/>
<result property="balance" column="BALANCE"/>
<result property="forbidCommitBeginDate" column="FORBID_COMMIT_BEGIN_DATE"/>
<result property="forbidCommitEndDate" column="FORBID_COMMIT_END_DATE"/>
<result property="user.id" column="ID"/>
<result property="user.nickName" column="NICKNAME"/>
<result property="user.num" column="NUM"/>
<result property="user.shareCode" column="SHARE_CODE"/>
<result property="user.alipayAccount" column="ALIPAY_ACCOUNT"/>
<result property="user.status" column="STATUS"/>
<result property="user.gender" column="GENDER"/>
<result property="user.birthday" column="BIRTHDAY"/>
<result property="user.jobTitle" column="JOB_TITLE"/>
</resultMap>這種配置方式就可以了,到現在也沒找到具體的原因,這種情況出現的太少了,所以也沒什麼資料可以閱讀,
又看了看mybatis原始碼,還是有些沒懂,先記錄一下。碰到相同情況的留言一起探討下