今天尝试自己写mybatis的增删改查,没有用自动生成工具。
结果出现了错误如下:
Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating interface dao.UserMapper with invalid types () or values (). Cause: java.lang.NoSuchMethodException: dao.UserMapper.<init>()
改来改去了一天,再网上查大约有几种答案:
大约是(1)缺少定义无参数的构造函数;
(2)缺少相关参数的get和set方法
(3)需要明确指定封装的参数 例如(@param(“id”)Integer id)
我对照检查了以上三种情况,发现仍有上面的错误,而且仅仅是查询有错误,增删改都正确
最后才发现是User.xml中<resultMap >配置错误,他的type类型应该为要映射的JavaBean类,而我写成了对于dao中接口的映射,导致一直报错