java.lang.IllegalStateException:No typehandler found for property

错误场景:
搭建ssm项目启动报错

详细的堆栈信息:

No typehandler found for property lvlReward
    at org.apache.ibatis.mapping.ResultMapping$Builder.validate(ResultMapping.java:151)
    at org.apache.ibatis.mapping.ResultMapping$Builder.build(ResultMapping.java:140)
    at org.apache.ibatis.builder.MapperBuilderAssistant.buildResultMapping(MapperBuilderAssistant.java:394)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:378)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)

错误原因:
遇到这个错误试了很多网上的方法,都不能解决,最后找到解决方案,顺便把出现错误的几种原因总结了一下
1、mapper文件中的所写的对象属性名和数据库字段名不能对应

<result column="expiryDate" property="expiry_Date" > 

2、mapper文件中的所写的对象属性类型和数据库字段类型不对应
3、对象属性的set方法中类型和数据库字段类型不对应(笔者错误)

解决方式:
查看这几个地方的属性名和类型是否对应,修改即可

你可能感兴趣的:(踩坑记录)