MyBatis-Plus找不到Mapper.xml文件的几种解决方法

 更新时间:2022年06月30日 09:26:26   作者:Stone Lio  
mybatis-plus今天遇到一个问题,就是mybatis 没有读取到mapper.xml 文件,所以下面这篇文章主要给大家介绍了关于MyBatis-Plus找不到Mapper.xml文件的几种解决方法,需要的朋友可以参考下

在整合SpringBoot和Mybatis-plus时,想写自定义的sql,所以创建了Mapper.xml文件,但是启动后却老是报错:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

很明显,是Mapper.xml未被扫描到。

此类问题的解决方式实际上都是配置上有问题,以下列出了一些解决方式。

方式1:Mapper的命名空间和Dao层的接口。

Mapper.xml文件中,<mapper namespace="这里填写映射的Mapper.java完整路径,如:com.test.Mapper">

方式2:如果Mapper.xml文件是放到java目录下,那么在项目的pom.xml文件中需要添加:

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
</build>

方式3:注意在.yml配置文件中不要弄混淆Mybatis和Mybatis-plus的配置

比如项目pom.xml中引用的是Mybatis-plus的starter,其中已经包含了Mybatis了,配置文件中最好统一写成Mybatis-plus的配置:

mybatis:
    mapper-locations: classpath:com/*/mapper/xml/*.xml

改成

mybatis-plus:
    mapper-locations: classpath:com/*/mapper/xml/*.xml

方式4:如果是多子模块的项目,Mapper.xml文件是在子模块项目中,那么记得在classpath后面加*,代表扫描子项目的Mapper.xml文件

mybatis-plus:

    mapper-locations: classpath*:com/*/mapper/xml/*.xml

方式5:我最近放的一个小错误,就是我的Mapper.xml文件是放在不同层次不同包下的,我配置了很多个扫描位置:

mybatis-plus:

    mapper-locations: classpath*:com/*/mapper/xml/*.xml,com/test/*/mapper/xml/*.xml,/xml/*.xml

配置好发现依然报未扫描到Mapper.xml文件,后来发现,我的Mapper.xml文件是放到子模块中的"com/test/*/mapper/xml"目录下,配置应该要继续带上classpath*:

上面的配置改成:

mybatis-plus:

    mapper-locations: classpath*:com/*/mapper/xml/*.xml,classpath*:com/test/*/mapper/xml/*.xml,/xml/*.xml

因为路径前面不带这个"classpath*"它默认是使用的"classpath",导致扫描不到子模块项目的Mapper.xml文件。

总结

到此这篇关于MyBatis-Plus找不到Mapper.xml文件的几种解决方法的文章就介绍到这了,更多相关MyBatis-Plus找不到Mapper.xml文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java模拟实现HTTP服务器项目实战

    Java模拟实现HTTP服务器项目实战

    本文主要介绍了Java模拟实现HTTP服务器项目实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 将java普通项目打包成exe可执行文件的步骤记录

    将java普通项目打包成exe可执行文件的步骤记录

    将JAVA代码打包为exe文件,会让程序运行更加方便,这篇文章主要给大家介绍了关于将java普通项目打包成exe可执行文件的相关资料,需要的朋友可以参考下
    2021-07-07
  • Java中synchronized的优化措施

    Java中synchronized的优化措施

    这篇文章主要介绍了Java中synchronized的优化,介绍为了实现高效并发,虚拟机对synchronized 做的一系列的锁优化措施,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Spring模块详解之Spring ORM和Spring Transaction详解

    Spring模块详解之Spring ORM和Spring Transaction详解

    Spring ORM 是 Spring 框架的模块之一,旨在简化与 JPA、Hibernate、JDO 等 ORM 工具的集成,通过提供统一的 API 和模板类,如 HibernateTemplate 和 JpaTemplate,Spring ORM 使开发者可以更便捷地执行数据库操作,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Redisson分布式信号量RSemaphore的使用超详细讲解

    Redisson分布式信号量RSemaphore的使用超详细讲解

    这篇文章主要介绍了Redisson分布式信号量RSemaphore的使用,基于Redis的Redisson的分布式信号量RSemaphore采用了与java.util.concurrent.Semaphore相似的接口和用法
    2023-02-02
  • Java遍历Map对象集合的六种方式代码示例

    Java遍历Map对象集合的六种方式代码示例

    Java中的Map是一种键值对映射的数据结构,它提供了一些常用的方法用于获取、添加、删除和修改元素,下面这篇文章主要给大家介绍了关于Java遍历Map对象集合的六种方式,需要的朋友可以参考下
    2024-02-02
  • spring boot集成loback日志配置的示例代码

    spring boot集成loback日志配置的示例代码

    这篇文章主要介绍了spring boot集成loback日志配置的示例代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • Idea中maven无法下载依赖包问题解决

    Idea中maven无法下载依赖包问题解决

    用过idea开发过项目的同学,偶尔会遇到项目中有一些依赖没法下载,或者依赖包已经有项目却无法扫到的问题,本文就详细的介绍了解决方法,感兴趣的可以了解一下
    2020-08-08
  • javaWeb实现简单文件上传

    javaWeb实现简单文件上传

    这篇文章主要为大家详细介绍了JAVAWeb实现简单文件上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 使用Maven中的scope总结

    使用Maven中的scope总结

    这篇文章主要介绍了使用Maven中的scope总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论