打开页面报错:Invalid bound statement (not found): com.XXX.XXX.mapper.XXXMapper.方法名

本文讲述了作者在配置MyBatis mapper时遇到的问题,包括XML文件路径调整、接口方法名与XML匹配、mapper文件夹结构的重要性,以及如何通过取消CompactMiddlePackages选项来修复加载问题。

网上搜索试了以下方法:

  1. 查看mapper.xml文件所在位置,放在resouces底下,只用在扫包的时候配置扫描xml的路径;如果是放在src底下,项目打包时会自动加载里面的文件,所以需要在pom.xml文件里加上扫描src底下该mapper的路径。
  2. 查看接口mapper的方法名和xml中sql的id能否对上(推荐安装free Mybatis plugin 方便查看)
  3. resultMap返回值是否正确
    最终还是不行,于是又重新写了一遍,还是不行,然后偶然发现自己犯了一个低级错误:
    由前面可以确定自己的mapper.xml没有加载进去,所以试了下把自己的mapper文件夹删掉,重建时发现我的mapper文件夹只写了一层,和我的扫描路径不符。
    在这里插入图片描述
    刚开始没注意这里,只是为了看着方便,
    在这里插入图片描述
    这里为了方便勾选了Compact Middle Packages
    重建之后,取消勾选,很明显能看出这是个两层文件夹
    在这里插入图片描述
Invalid bound statement (not found): com.xxx.mybatis.mapper.UserMapper.getAllUser这个错误是由于找不到getAllUser这个方法引起的。通常这个问题是因为mybatis无法找到对应的映射语句。根据引用和引用的描述,你在UserMapper里已经定义了getAllUser这个方法,但是出现这个错误可能是因为mybatis无法正确加载你的xml配置文件。根据引用的解释,可能是由于项目的maven配置导致的。maven项目默认只会加载编译资源目录下的配置文件,而你的xml文件是写在java目录下的,所以在编译的时候没有被正确加载,导致mybatis无法找到对应的映射语句。解决这个问题的方法是将xml配置文件移动到正确的位置,或者修改maven配置,让它能够正确加载你的xml文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot+mybatis 报Invalid bound statement (not found): com.example.arthorn.dao.mapper.UserMapper....](https://blog.csdn.net/qq_35556822/article/details/104709611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.****.mapper](https://blog.csdn.net/huchaun/article/details/118493396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值