mybatis-plus: mapper-locations: “classpath*:/mapper/**/*.xml“配置!!!解释

和mybatis一样的道理!!!!如果不指定这个配置,通常要求 XML 映射文件和 Mapper 接口的包名和结构相同!!!!

如果没有配置 mapper-locations,通常文件结构应遵循如下约定:

复制代码
src
├── main
│   ├── java
│   │   └── com
│   │       └── example
│   │           └── mapper
│   │               └── UserMapper.java       # Mapper接口
│   └── resources
│       └── com
│           └── example
│               └── mapper
│                   └── UserMapper.xml       # XML文件

在 MyBatis-Plus 中,mapper-locations 用于指定 Mapper XML 文件的路径,MyBatis-Plus 会根据这个路径找到 XML 映射文件,并自动加载到应用程序中。

1. mapper-locations 的作用

mapper-locations 指定了 MyBatis-Plus 映射文件(*.xml 文件)的加载路径。MyBatis-Plus 会根据这个路径扫描并加载对应的 Mapper XML 文件,这些文件通常包含 SQL 语句(如 selectinsertupdatedelete)的定义,以及 resultMap 等映射关系。

2. 配置项详解

application.yml 文件中,可以通过如下配置来定义 mapper-locations

复制代码
mybatis-plus:
  mapper-locations: "classpath*:/mapper/**/*.xml"

在这里,配置了一个路径模式:

  • classpath*: 表示从类路径中搜索。
  • /mapper/**/*.xml 表示在 mapper 目录下,递归查找所有子目录中符合 *.xml 格式的文件。

例如,如果你的项目结构如下:

复制代码
src
└── main
    └── resources
        └── mapper
            ├── user
            │   └── UserMapper.xml
            └── product
                └── ProductMapper.xml

配置了 classpath*:/mapper/**/*.xml 后,MyBatis-Plus 会自动加载 mapper 文件夹中所有子文件夹(userproduct 等)中的 *.xml 文件。

3. 路径写法说明

不同路径写法的含义如下:

  • classpath:/mapper/*.xml :表示只加载 resources/mapper 文件夹下的所有 .xml 文件(不包括子文件夹)。
  • classpath*:/mapper/**/*.xml :表示递归查找 resources/mapper 文件夹及其所有子文件夹 下的 .xml 文件。
相关推荐
小蒜学长16 小时前
springboot基于JAVA的二手书籍交易系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
菜鸟plus+16 小时前
Semaphore
java
小梁努力敲代码16 小时前
java数据结构--LinkedList与链表
java·数据结构·链表
それども16 小时前
IDEA Gradle并行编译内存溢出问题
java·ide·gradle·intellij-idea
滑水滑成滑头17 小时前
**发散创新:探索零信任网络下的安全编程实践**随着信息技术的飞速发展,网络安全问题日益凸显。传统的网络安全防护方式已难以
java·网络·python·安全·web安全
野犬寒鸦17 小时前
从零起步学习MySQL || 第七章:初识索引底层运用及性能优化(结合底层数据结构讲解)
java·数据库·后端·mysql·oracle
ScriptBIN17 小时前
管理和构建Java项目的工具--Maven
java·maven
全职计算机毕业设计17 小时前
基于SpringBoot框架的在线教育系统设计与实现(三套文档参考)
java·spring boot·后端
No8g攻城狮17 小时前
【异常解决】使用DateUtil.isSameDay()方法判断秒级时间戳是否属于同一天踩过的坑
java·jvm·spring boot·java-ee·springboot
再睡一夏就好17 小时前
【C++闯关笔记】深究继承
java·数据结构·c++·stl·学习笔记