【Spring+Mybatis】 Invalid bound statement (not found): com.xxxx.mapper.UserMapper.selectUser

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxx.mapper.UserMapper.selectUser

 报错原因:mapper接口和mapper.xml文件没有映射起来
解决方法
第一种:mapper.xml中的namespace和实际的mapper文件不一致
第二种:mapper接口中的方法名和mapper.xml中的id标签不一致
第三种:Mapper.xml没有构建进去
第四种:配置文件导不出来

报错原因:mapper接口和mapper.xml文件没有映射起来

解决方法

第一种:mapper.xml中的namespace和实际的mapper文件不一致

 

 第二种:mapper接口中的方法名和mapper.xml中的id标签不一致

第三种:Mapper.xml没有构建进去

打开target看看对应的Mapper.xml文件在不在,如果不在,点击右边的maven,clean一下,再Run一下

 

 

第四种:配置文件导不出来

maven的配置文件默认放在resources目录下,但在这里需要把它放到java目录下,导致配置文件导不出来

这属于资源过滤问题

解决方法: 需要手动配置资源过滤,让它把java目录下的properties和xml等配置文件的过滤开启,使它们能够被导出,在pom.xml中配置开启过滤

<!--在build中配置resources,来防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

 

 自己碰到了参考链接: 

Invalid bound statement (not found)解决方法_人间游客的博客-CSDN博客

第三种请款有可能clean一次不行,多试几次几时target下的xml导出来了就可以了。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这个错误信息通常在使用MyBatis(一个Java持久层框架)时出现,"Invalid bound statement (not found): com.zcy.mapper.MemberMapper.findAll" 表示你在试图执行一个查询,但MyBatis找不到对应的Mapper接口方法或SQL语句。具体来说: 1. `com.zcy.mapper.MemberMapper`:这是你的Mapper接口,`MemberMapper`可能是处理会员相关的数据库操作。 2. `findAll`:这是一个期望的方法名,可能是用来获取所有成员信息的查询,比如从数据库中获取所有会员列表。 出现这个问题的原因可能有: - Mapper文件未正确配置:确保`MemberMapper`接口及其对应的XML映射文件或者Java注解映射存在,并且`findAll`方法被正确地定义。 - 方法名拼写错误:检查方法名的大小写和拼写是否与映射文件中的名称一致。 - 动态SQL拼写错误:如果使用了动态SQL,检查占位符是否匹配以及其使用是否正确。 - 配置文件路径错误:确认MyBatis的资源扫描路径是否包括了包含Mapper接口的包。 为了解决这个问题,你可以尝试以下步骤: 1. 检查`MemberMapper`接口是否有`findAll`方法,如果没有,需要创建该方法。 2. 确认mapper.xml文件(如果是XML映射)或`@Mapper`注解(如果是注解映射)中是否正确引用了该方法。 3. 检查mybatis-config.xml或其他配置文件中是否正确配置了mapper的别名或扫描路径。 4. 如果是单元测试,确保在测试代码中注入的Mapper实例是正确的。 如果你能提供更多的上下文信息,我可以给出更具体的帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值