基于MapperFactoryBean来实现MyBatis与Spring的整合,报错怎么处理?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

基于MapperFactoryBean来实现MyBatis与Spring的整合,报错怎么处理? 已解决

今天使用基于MapperFactoryBean来实现MyBatis与Spring的整合,使用Mapper接口编程,一直报一个错误,调试了很久

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘customerMapper’ defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type ‘java.lang.String’ to required type ‘java.lang.Class’ for property ‘mapperInterface’; nested exception is java.lang.IllegalArgumentException: Cannot find class [mapper.CustomerMapper] image.png

展开
收起
我是小美女 2021-10-23 14:31:59 754 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,您的问题原因是Mapper接口的名称和对应的Mapper.xml映射文件的名称不一致。在使用Mapper接口编程的方式,需要遵循一些规范 例如:

    Mapper接口的名称和对应的Mapper.xml映射文件的名称必须一致

    Mapper.xml文件中的namespace与Mapper接口的类路径相同

    Mapper接口中的方法名和Mapper.xml中定义的每个执行语句的id相同

    Mapper接口中方法的输入参数类型要和Mapper.xml中定义的每个sql的 parameterType的类型相同

    Mapper接口方法的输出参数类型要和Mapper.xml中定义的每个sql的resultType的类型相同

    2021-10-23 14:34:26
    赞同 2 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多