MyBatis Could not set property ‘xxx‘ of ‘class xxx‘ with value ‘xxx‘;argument type mismatch问题解决

我不是女神ヾ 2022-10-10 01:45 455阅读 0赞

问题描述:

Caused by: org.apache.ibatis.reflection.ReflectionException: Could not set property ‘userId’ of ‘class UserDto’ with value ‘123’ Cause: java.lang.IllegalArgumentException: argument type mismatch

问题分析:

1、Mapper文件中的userId类型为String,但是实体类userId类型为Long,两边的类型不一致导致报错。

  1. <resultMap type="com.dto.UserDto" id="dto">
  2. <result property="userId" column="user_id" javaType="String"/>
  3. </resultMap>
  4. public class UserDto {
  5. private Long userId;
  6. }

解决办法:

(1)Mapper文件中的userId类型改为Long,实体类保持不变。

  1. <resultMap type="com.dto.UserDto" id="dto">
  2. <result property="userId" column="user_id" javaType="Long"/>
  3. </resultMap>

(2) 实体类userId类型改为String,Mapper文件保持不变。

  1. public class UserDto {
  2. private String userId;
  3. }

发表评论

表情:
评论列表 (有 0 条评论,455人围观)

还没有评论,来说两句吧...

相关阅读