Wondercease

浙ICP备2022017321号

Cannot determine value type from string ‘xxx‘

1.检查实体字段和数据库字段是不是一样

2.没有可能是mybatis在执行数据库字段到实体字段类型映射的过程中出现转换错误

3.带着问题去跟踪源码。

跟踪源码

1、当实体使用无参构造器时

使用无参构造器创建对象

2、当实体使用有参构造参数

由代码我们看出,当实体使用有参构造函数时,会遍历有参构造参数个数,根据有参构造参数下标查找相应的数据库字段名称,根据有参构造字段类型以及数据库字段名称找类型处理器。然后使用TypeHandler来处理JavaType 与 JdbcType 之间的转换。当转换异常,就会报

总结

解决Cannot determine value type from string ‘xxx’的方法有2种

  • 实体加无参构造参数
  • mapper.xml中查询的数据库字段属性的类型要和有参构造器的字段类型一一匹配;查询字段的个数要和有参构造器个数一样

发表评论

您的电子邮箱地址不会被公开。