当前位置: 首页 > article >正文

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 文件。


http://www.kler.cn/a/396517.html

相关文章:

  • CC6学习记录
  • HarmonyOS Next 组件或页面之间的所有通信(传参)方法总结
  • 《FreeRTOS任务基础知识以及任务创建相关函数》
  • 服务器上安装Orcale数据库以及PL SQL工具(中文)
  • flink cdc 应用
  • Vue3 -- 项目配置之stylelint【企业级项目配置保姆级教程3】
  • 初学人工智不理解的名词3
  • 释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o
  • 从电动汽车到车载充电器:LM317LBDR2G 线性稳压器在汽车中的多场景应用
  • springboot实现简单的数据查询接口(无实体类)
  • Java项目实战II基于微信小程序的订餐系统(开发文档+数据库+源码)
  • 本机ip地址和网络ip地址一样吗
  • AI服务器SAS硬盘汰换与数据抹除指南
  • HarmonyOS ArkUI(基于ArkTS) 开发布局 (中)
  • 基于STM32智能电流表
  • Python酷库之旅-第三方库Pandas(218)
  • 探索 TraceBoard:统计你的键盘按键使用情况
  • android应用调用c语言的so库
  • 专业140+总分400+南京大学851信号与系统考研经验南大电子信息通信工程集成电路,真题,大纲,参考书。
  • 华为云前台用户可挂载数据盘和系统盘是怎么做到的?
  • 计算机组成原理对于学习嵌入式开发的意义
  • jmeter并发测试
  • 【已解决】 Tomcat10.1.x使用JSTL标签库
  • Android音视频直播低延迟探究之:WLAN低延迟模式
  • 保存pytest的执行日志;在日志中显示当前是第几次执行
  • 基于 Vue 实现简易 Vue-Router