关于spring整合mybatis报错:Type handler was null on parameter mapping for property 'department'.

来源:互联网 发布:linux上传文件命令 编辑:程序博客网 时间:2024/04/29 07:53

这个错误的原因就是,你要传递的参数已经在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>





0 0