Mybatis的坑(去xml化、Enum)

141 阅读1分钟

No typehandler found for property xxx

模型中有数据库表不存在的字段一定要用 @TableField(exist = false) 排除掉,不排除则报如上错误

模型一定要有空参数的构造函数

在查完数据库后构造实例时需要使用构造函数,如果模型类中只有自定义参数的构造函数,将会尝试使用自定义构造函数生成实例,由于参数类型及顺序可能对应不上,很可能就构造失败了(异常如下)。

Caused by: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.yilv.server.model.PayTask with invalid types (InitiateBatchTransferRequest) or values (1). 
Cause: java.lang.IllegalArgumentException: argument type mismatch

上面的异常中PayTask只有一个InitiateBatchTransferRequest参数的构造函数,然后查出来的数据第1行第1个字段值为1,值类型与参数类型不匹配,所以报错。 所以一定要造成空参数构造函数。

定义@Results时,Result