解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo

前言:最近学习spring和mybatis的整合时遇到了一个问题( Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.bdqn.dao.ProviderMapper.getList),所以把错误引起的原因整合一下给大家,希望给你们一些帮助。
解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo_第1张图片
这个问题主要由三个原因引起的。
1.MyBatis Mapper使用Spring注入时,mapper file是可以和interface、namespace不同的(注意:interface和namespace必须相同),但这时需要进行配置。
我们可以使用mapperLocations,MyBatis-Spring会自动地扫描该路径下的所有Mapper文件:
applicationContext.xml
解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo_第2张图片
2.spring + mybatis 提交表单引起的异常,错误的原因是调用的时候命名空间错了。
在这里插入图片描述
3.target中没有对应的mapper文件夹。
解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo_第3张图片
在pom.xml中加入
解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo_第4张图片
执行之后
解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo_第5张图片
注意:IDEA的扫描机制,src/main/java 中的xml文件不会被扫描到

你可能感兴趣的:(解决 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo)