關於spring整合mybatis報錯:Type handler was null on parameter mapping for property 'department'.
這個錯誤的原因就是,你要傳遞的引數已經在mybatis檔案中配置過了,而傳遞引數時又用的這個名字所以解析時出錯。
例如我的resultMap中已經配置了userId,這是一個物件
<resultMap id="userDynamicMap" type="UserDynamicTO">
<result property="income" column="INCOME"/>
<association property="userId" javaType="UserTO">
<id property="id" column="ID"/>
</association>
</resultMap>
但是在引數表示時,我這表示的是主鍵id,而不是一個物件,所以要把#{userId}改成別的名字
<update id="noSpeak" parameterType="UserDynamicTO">
UPDATE USER_DYNAMIC SET FORBID_COMMIT_BEGIN_DATE = #{forbidCommitBeginDate},
FORBID_COMMIT_END_DATE = #{forbidCommitEndDate}
WHERE USER_ID = #{userId}
</update>
《================================================================================================================》
如下圖所示:其實在User實體類中,我們已經把department傳過去了,但是在關聯表中,再一次使用department就會報錯。
<insert id="add" parameterType="org.itat.model.User">
insert into t_user(username,password,nickname,department)
value(#{username},#{password},#{nickname},#{department.id});
</insert>
改正後應該為:《紅色部分》和資料庫一致即可
<insert id="add" parameterType="org.itat.model.User">
insert into t_user(username,password,nickname,dep_id)
value(#{username},#{password},#{nickname},#{department.id});
</insert>