博客
关于我
mapper.xml中mapper找不到问题
阅读量:796 次
发布时间:2023-02-06

本文共 1135 字,大约阅读时间需要 3 分钟。

Maven打包资源文件时,默认会将src/main/resources下的所有配置文件和src/main/java下的所有Java文件打包或发布到target/classes目录下。然而,实际项目中,src/main/java目录下可能会存放一些配置文件,如hibernate配置文件或mybatis mapper配置文件。这种情况下,如果不做额外配置,打包后的项目可能无法找到这些必需的资源文件。

为了解决这个问题,我们可以在pom.xml中进行相应配置。这将确保src/main/java下面的XML文件随同Java编译后的class文件一同复制到相应的class目录中。

Maven资源文件打包配置

在pom.xml中,我们可以在build标签下的resources部分,添加一个resource标签来指定src/main/java目录下的资源文件。具体配置如下:

src/main/java
**/*.properties
**/*.xml
false

常见错误示例

在实际项目中,可能会遇到如下的错误日志:

HTTP Status 500 - Request processing failed; nested exception is java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

这个错误通常是由于MyBatis无法找到映射文件(XML文件)所导致的。错误信息提示系统无法找到指定的SQL映射文件,这可能是因为资源文件未被正确打包或发布到应用类路径中。

解决方案

通过在pom.xml中添加上述配置,可以确保src/main/java目录下的所有配置文件(如XML文件和Properties文件)会被正确复制到target/classes目录中。这样,应用启动时就能正常地加载这些配置文件,避免因缺少必要的资源文件而导致的运行错误。

通过以上配置,我们可以确保项目打包后所有必要的资源文件都被包含在内,从而避免因资源文件缺失导致的运行错误。

转载地址:http://jrufk.baihongyu.com/

你可能感兴趣的文章
MinIO - 服务端签名直传(前端 + 后端 + 效果演示)
查看>>
Mirantis OpenStack fuel 物理机部署
查看>>
MIT-JOS系列6:用户环境(二)
查看>>
Mybatis配置useGeneratedKeys=“true“ keyProperty=“id“的作用
查看>>
Mybatis配置
查看>>
Mybatis连接池与事务深入
查看>>
MyBatis实现 if-else功能
查看>>
MyBatis实操第一课5月17号.在学完了MaBatis框架后。
查看>>
MyBatis学习总结(9)——使用MyBatis Generator自动创建代码
查看>>
MyBatis学习总结(7)——Mybatis缓存
查看>>
MyBatis学习总结(6)——调用存储过程
查看>>
MyBatis学习总结(4)——解决字段名与实体类属性名不相同的冲突
查看>>
MyBatis学习总结(2)——使用MyBatis对表执行CRUD操作
查看>>
MyBatis学习总结(27)——Mybatis-Plus使用小技巧
查看>>
MyBatis学习总结(26)——Mybatis源码中使用了哪些设计模式?
查看>>
Mybatis-@MapperScan和mybatisscan分析
查看>>
mybatis
查看>>
MybaisPlus的Mapper.xml中,数据库中的字段是Mybatis中的关键字如何处理---SpringCloud工作笔记185
查看>>
Mobx 结合 TypeScript 实现 setState 类型推导
查看>>
MyAdapter代码复用工具类
查看>>