mybatis+spring 整合项目报错Mapped Statements collection does not contain value for test.findUserByName

mybatis+spring 整合项目报错Mapped Statements collection does not contain value for test.findUserByName

仍旧是照着书敲都有好多错误,实在是无法理解为什么。

以下是我百度看了很多博客的解决方法:

1、mapper.xml中没有加入namespace; 

2、mapper.xml中的方法和接口mapper的方法不对应; 
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件);

4、mapper.xml文件名和所写的mapper名称不相同。

我的项目是maven和spring整合的,所以上面的解决方法是无效的。

这个问题纠结了一个下午,所以一个下午都在百度上看解决方法,看了很多博客,不记得是哪一篇博客给我的启发了,maven项目部署之后运行的是target里面的代码,于是去检查我的target里面的test-class,里面果然没有mapper,所以就是其实我的UserMapper.xml一直没有被部署上去。

按照百度的经验,首先检查build path是否是如图:


如果不是可能要检查pom.xml中是否有以下代码

        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>

        </resources>

如果加上这段代码后还是报同样的错误,或许你跟我遇到的是一样的问题。

因为我是照着书上敲的,书上的mapper包是放在src/test/java中的,我也放在这里面,但是不管怎样都没有被部署上去。或许是eclipse的原因,或许是其他原因,总之mapper.xml放在这里面就部署不上去,于是我把它放到了src/test/resource下面,然后就部署上去了。

mapper.xml放在哪里应该是有规定的,但是由于我是“半路出家”,所以对于这些并不是很熟悉,只能一个坑一个坑的去挖然后去跳。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值