mybatis扫描不到mapper.xml,mybatis的mapper.xml配置详解

  mybatis扫描不到mapper.xml,mybatis的mapper.xml配置详解

  在集成SpringBoot和Mybatis-plus时,我想编写自定义sql,所以创建了Mapper.xml文件,但它总是在启动后报错:

  org . Apache . ibatis . binding . binding exception :无效的绑定语句(未找到)

  显然,Mapper.xml没有被扫描。

  这类问题的解决方法其实就是配置问题。以下是一些解决方法。

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

  在Mapper.xml文件中,mapper namespace=在此,填写映射的Mapper.xml的完整路径,如:com.test.Mapper

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

  构建资源资源目录rc/main/java/directory包含include**/*。XML/include/includes/resource/resources/build方式3:注意在.yml配置文件中不要弄混淆Mybatis和Mybatis-plus的配置

  例如,项目pom.xml引用了Mybatis-plus的启动程序,其中已经包含了Mybatis。最好把Mybatis-plus的配置统一写在配置文件里:

  我的batis 3360 mapper-locations 3360 class path : com/*/mapper/XML/*。XML被更改为

  mybatis-plus : mapper-locations : class path : com/*/mapper/XML/*。XML方式4:如果是多子模块的项目,Mapper.xml文件是在子模块项目中,那么记得在classpath后面加*,代表扫描子项目的Mapper.xml文件

  mybatis-plus:

  mapper-locations : class path * : com/*/mapper/XML/*。XML方式5:我最近放的一个小错误,就是我的Mapper.xml文件是放在不同层次不同包下的,我配置了很多个扫描位置:

  mybatis-plus:

  映射器-位置:类路径* 3360 com/*/mapper/XML/*。XML,com/test/*/mapper/XML/*。XML,/XML/*。XML。配置后,发现Mapper.xml文件仍未扫描。稍后,我的Mapper.xml文件被放在子模块的 com/test/*/mapper/xml 目录中,配置应该继续使用classpath*:

  上述配置更改为:

  mybatis-plus:

  映射器-位置:类路径* 3360 com/*/mapper/XML/*。XML,class path * 3360 com/test/*/mapper/XML/*。XML,/XML/*。因为路径前没有“classpath *”,所以默认情况下使用“classpath”。

  总结

  关于MyBatis-Plus如何找不到Mapper.xml文件的这篇文章到此为止。更多信息,MyBatis-Plus找不到Mapper.xml文件的内容。请搜索热门IT之前的文章或继续浏览下面的相关文章。我希望你将来能支持流行它!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: