Mybatis-Plus中Mapper的接口文件与xml文件相关的坑记录

 更新时间:2024年01月20日 11:13:44   作者:JaronJiang  
这篇文章主要介绍了Mybatis-Plus中Mapper的接口文件与xml文件相关的坑记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

当xml文件在resources目录下

通过修改properties文件的mybatis-plus.mapper-locations值,保证xml文件被读取到,即可正常运行

修改方法一

将所有的xml文件都放在同一个目录下,像下图一样,读取该目录中的所有文件即可,**表示该目录下的任何层次,*.xml表示任何xml文件

映射目录下的所有xml

修改方法二

对xml文件进行一对一读取,可以使用xml文件的Path From Source Root路径,对于多个xml,使用","将其分隔

如下图:

映射多路径

当xml文件不在resources目录下

首先,因为xml文件不在resources目录下,即在java目录下,如果是用maven构建的项目,则需要在pom.xml文件中的

标签中加入以下代码(如果是maven构建的项目,这是必须要做的)

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
        <filtering>true</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
        <filtering>true</filtering>
    </resource>
</resources>

这因为maven默认的打包环境下,只会把src/main/java包中的 ".java"文件进行编译生成“.class”文件,加入以上代码才能在打包的时候,使xml文件被打包进jar/war包中。

1.当接口文件与xml文件在同一个包下,且文件名相同时,可以正常运行

如:

包名和文件名相同

2.当接口文件和xml文件不在同一个包下,无论文件名是否相同,都无法正常运行

如:

包名不同,但文件名相同

包名不同,文件名不相同

可以通过修改properties文件中的mybatis-plus.mapper-locations的值为xml文件的路径(如果有多个,使用","将其隔开),使其正常运行(不管文件名是否相同都可以使其正常运行)

如:

mybatis-plus.mapper-locations=classpath:com/example/study/config/IMapper.xml

总结

  • 当xml和接口文件在同一个包下,且同名不需要进行额外的配置
  • 当xml和接口文件不在同一个包下或者名字不同时,需要修改mybatis-plus.mapper-locations的值,对该xml文件进行读取

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于java构造方法Vector修改元素源码分析

    基于java构造方法Vector修改元素源码分析

    本篇文章是关于ava构造方法Vector源码分析系列文章,本文主要介绍了Vector修改元素的源码分析,有需要的朋友可以借鉴参考下,希望可以有所帮助
    2021-09-09
  • pom.xml中解决Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.33警告问题

    pom.xml中解决Provides transitive vulnerable dependency mave

    这篇文章主要介绍了在pom.xml中如何解决Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.33警告问题,需要的朋友可以参考下
    2023-06-06
  • 剑指Offer之Java算法习题精讲数组与字符串

    剑指Offer之Java算法习题精讲数组与字符串

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • 在Spring Boot中实现文件上传与管理的操作

    在Spring Boot中实现文件上传与管理的操作

    在 Spring Boot 中实现文件上传与管理非常简单,通过配置文件上传、创建文件上传、下载、列表和删除接口,我们可以轻松地处理文件操作,结合前端页面,可以提供一个完整的文件管理系统,这篇文章主要介绍了在Spring Boot中实现文件上传与管理,需要的朋友可以参考下
    2024-07-07
  • java中@ModelAttribute注解的作用

    java中@ModelAttribute注解的作用

    本文主要介绍了java中@ModelAttribute注解的作用。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Spring之@DependsOn注解详细解析

    Spring之@DependsOn注解详细解析

    这篇文章主要介绍了Spring之@DependsOn注解详细解析,@DependsOn注解是Spring中提供的一个指定Spring创建Bean的依赖顺序的注解,需要的朋友可以参考下
    2024-01-01
  • Java枚举之EnumSet详解

    Java枚举之EnumSet详解

    这篇文章主要介绍了Java枚举之EnumSet详解,使用时进行与或运算,但是定义多了之后,会很乱、臃肿,编写容易出错,EnumSet可以实现类似的功能,且使用起来很简洁,需要的朋友可以参考下
    2023-12-12
  • Android Studio更改项目使用的JDK(详细步骤)

    Android Studio更改项目使用的JDK(详细步骤)

    本文介绍了如何在Android Studio中修改Gradle和JDK的配置步骤,包括打开设置、进入Gradle设置、修改JDK路径、保存并生效等,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • 聊聊maven的pom.xml中的exclusions标签的作用

    聊聊maven的pom.xml中的exclusions标签的作用

    这篇文章主要介绍了maven的pom.xml中的exclusions标签的作用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java后台线程操作示例【守护线程】

    Java后台线程操作示例【守护线程】

    这篇文章主要介绍了Java后台线程操作,结合实例形式分析了java守护线程相关原理、操作技巧与使用注意事项,需要的朋友可以参考下
    2019-09-09

最新评论