详解mybatis-plus的 mapper.xml 路径配置的坑
时间: 2023-05-08 21:01:32 浏览: 264
Mybatis-Plus是一款优秀的ORM框架,可以很好地实现Java对象和关系数据库之间的映射,提高开发效率。mapper.xml是Mybatis-Plus的一部分,用于定义SQL映射关系。
在使用mapper.xml时需要注意路径配置,因为这是一个容易遇到的坑。在一些教程中,常见的路径配置方式是在application.properties或application.yml配置文件中添加如下配置:
```
mybatis-plus.mapper-locations=classpath:/mapper/*Mapper.xml
```
这样配置的问题在于,mapper.xml文件必须放在src/main/resources/mapper目录下,而且必须是该目录下的根节点。如果将mapper.xml文件放在其他子目录下,或者在其他模块中,就无法正常加载。
为了解决路径配置的问题,可以使用以下两种方式:
1. 指定绝对路径
在mybatis-plus.mapper-locations属性中指定mapper.xml文件的绝对路径,例如:
```
mybatis-plus.mapper-locations=file:/data/projects/project1/resources/mapper/*Mapper.xml
```
这样可以保证文件可以在任何位置被找到并正确加载。
2. 使用classpath*:/前缀
使用classpath*:/前缀表示在所有的classpath中查找匹配的文件,例如:
```
mybatis-plus.mapper-locations=classpath*:mapper/*Mapper.xml
```
这样就可以将mapper.xml文件放在不同的目录下,例如在可重用的模块中,并在所有项目中共享使用。
总之,在使用mapper.xml时一定要注意路径配置,以免遇到坑。
阅读全文