MyBatis报错:Invalid bound statement (not found)错误的可能原因
这个问题比较简单,其实出现这个问题实质就是mapper接口和mapper.xml文件没有映射起来。
有些细节可以逐一排查,常见的错误如下:
1、检查xml文件所在package名称是否和Mapper interface所在的包名
<mapper namespace="com.enmox.emcs.market.dao.MarketDao">
mapper的namespace写的不对!我之前是从别的模块复制的,只改了 MarketDao,没有改前面的 market.dao.MarketDao,导致报错。
2、看下mapper的XML配置路径是否正确
mybatis:
mapper-locations: classpath*:mybatis/**/*.xml
executor-type: simple
config-location: classpath:mybatis-config.xml
type-aliases-package: com.***.user.model,***,com.***.market.model
type-aliases-package:配置映射类所在的包名
这个有时候是报 ClassNotFound 的错。
3、MarketDao 的方法在 MarketDao.xml 中没有,然后执行MarketDao的方法会报此错误。
即mapper接口中的方法名和mapper.xml中的id标签不一致,这个问题解决方法一样,仔细对对。
4、MarketDao 的方法返回值是 List<market>,而select元素没有正确配置ResultMap,或者只配置ResultType!
5、以上问题都没有,但是还是不行,可能原因就是,没有构建进去,打开target看看对应的mapper.xml文件在不在
如果不在的话,clean一下,maven项目,然后再启动。
6、pom.xml文件中配置resource,不然mapper.xml文件就会被漏掉!pom.xml的中配置了resource,bug消失了~
<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
7、mapper-locations路径配置不对:
// 原配置如下:
mybatis:
mapper-locations: classpath:signin\src\main\resources\mapperxmlmapperxml/.xm
//此为绝对路径。修改配置路径如下:
mybatis:
mapper-locations: classpath:mapperxml/.xml
之前是绝对路径所以扫描不到,修改了之后再编译,项目代码就不是之前的绝对路径了,已经到target目录下了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-06-03 实现粘性布局position:sticky
2018-06-03 IDEA是如何导入项目的,及启动导入项目遇到的问题:无法加载主类的一连串问题
2018-06-03 创建springBoot项目及启动报错遇到的问题解决:Failed to configure a DataSource: 'url' attribute is not specified and no embedd