引用链接:
常见错误
-
XML文件未被加载到类路径
BookMapper.xml
应位于resources/mapper
目录下,但若构建工具(如Maven)未正确配置资源路径,XML文件可能未被编译到target/classes
中。 -
MyBatis未扫描到Mapper接口或XML文件
若未配置@MapperScan
或mybatis.mapper-locations
,MyBatis可能无法找到XML文件。 -
XML命名空间或ID与接口不匹配
虽然代码中namespace
和id
看似正确,仍需仔细检查是否有拼写错误。
解决方案
排查了代码上所有可能的问题,依旧不行。最终发现是默认配置问题。
具体原因
场景 | 默认行为 | 显式配置后的行为 |
---|---|---|
XML 文件位置 | 需在 resources/mapper/**/*.xml | 可自定义路径(如 mapper/*.xml ) |
构建工具资源包含 | 依赖 Maven 的默认资源配置 | 强制包含指定目录下的 XML 文件 |
MyBatis 扫描逻辑 | 可能因路径层级问题漏扫 | 精准匹配目标路径 |