下面是针对“详解mybatis-plus的 mapper.xml 路径配置的坑”的完整攻略:
一、前置知识介绍
在使用 mybatis-plus 时,我们需要在 mybatis 的配置文件中配置路径扫描,以便 mybatis-plus 可以找到 mapper.xml 文件,并自动扫描生成 mapper 接口类,简化开发流程。
具体来说,mybatis-plus 会在 classpath 下扫描所有 mapper.xml
文件,并自动将其绑定到对应的 mapper 接口类上。这个过程的重要配置项是 mybatis.mapper-locations
,需要根据实际情况进行设置(具体配置方法后面会讲到)。
二、路径配置的坑
在实际开发中,我们常常会遇到以下这些路径配置的坑:
-
mapper.xml 应该放在哪个文件夹下?
通常情况下,我们将 mapper.xml 放在 resources 目录下的一个名叫 mapper 的文件夹中(这个文件夹名字一般自己定义,但在后文的示例中也会使用这个命名方式)。但是,如果不是按照这种方式命名和放置,就需要在 mybatis-plus 的配置文件中进行对应修改。
-
"classpath:"的意义
在配置
mybatis.mapper-locations
时,我们经常会用到 "classpath:" 关键字,通常用于表示文件路径对应的 classpath 下的位置。这个关键字比较常用,一般都会加上。
三、完整攻略
下面是实际针对上面问题的完整攻略。首先,我们需要修改 mybatis-plus 的配置文件:
# mybatis-plus 配置文件
mybatis-plus:
mapper-locations: classpath:mapper/**/*.xml
上述配置中,mapper-locations
指定了 classpath 下的 mapper/**/*.xml
所有文件作为 mapper.xml 文件的路径,其中 **
表示任意层数子文件夹,即匹配任意文件夹下的所有以 .xml
结尾的文件。
在 JAVA 代码中,使用 mybatis-plus 提供的 @MapperScan
注解来指定 mapper 的扫描包:
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
上述代码中,注解标注了 mapper 所在的扫描包路径。这样,mybatis-plus 就可以找到对应的 mapper.xml 文件,并自动绑定生成 mapper 接口类。
四、示例说明
下面是两个在 path 配置时可能会遇到的示例:
示例1
假设 mapper.xml 文件放在了 resources 目录下而不是 resources/mapper 文件夹下,此时需要更改 mybatis-plus 配置文件的 mapper-locations
:
# mybatis-plus 配置文件
mybatis-plus:
mapper-locations: classpath:/**/*.xml
上述配置表明在 classpath 下找到所有的 .xml 文件,而不限于 mapper 所在的文件夹。
示例2
假设我们的 mapper.xml 放在了 resources/mapper/demo 目录下,我们需要修改 mybatis-plus 配置文件的 mapper-locations
:
# mybatis-plus 配置文件
mybatis-plus:
mapper-locations: classpath:mapper/demo/**/*.xml
上述配置中,mapper-locations
指定扫描了 classpath 下的 mapper/demo/**/*.xml
目录及其子目录下的 mapper.xml 文件。
五、总结
本文主要介绍了 mybatis-plus 中 mapper.xml 路径配置的坑,给出了两个示例说明。在实际应用中,要根据实际情况灵活设置,以确保 mybatis-plus 能够正确扫描 mapper.xml 文件并生成适配的 mapper 接口类。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解mybatis-plus的 mapper.xml 路径配置的坑 - Python技术站