我刚刚将MyBatis版本从3.1.0升级到3.4.6,并开始出现以下问题。我有一个带有参数的类,该参数传递给MyBatis映射器。参数之一是java.lang.Number
。原因是有时包含int
,有时包含double
。使用以前的MyBatis版本,它可以正常工作。有了这个,我得到:
java.lang.IllegalStateException: Type handler was null on parameter mapping for
property '__frch_searchFilter_1.valueNum1'. It was either not specified and/or could
not be found for the javaType (java.lang.Number) : jdbcType (null) combination.
映射器按如下方式访问值:
#{searchFilter.valueNum1}
该字段在类中的定义如下:
private Number valueNum1;
是否可以使用java.lang.Number
并让MyBatis根据基础类/数据确定应使用DoubleTypeHandler
还是IntegerTypeHandler
?