服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 解决mybatis-plus自动配置的mapper.xml与java接口映射问题

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

2021-12-10 13:36一叶呼呼 Java教程

这篇文章主要介绍了解决mybatis-plus自动配置的mapper.xml与java接口映射问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

 

mybatis-plus自动配置mapper.xml与java接口映射

本来没有mybatis-plus的话,这个工作是通过mybatis-spring的MapperScan来完成的。

Mybatis-plus中的自动配置类MybatisPlusAutoConfiguration.class中有一个静态内部类

MapperScannerRegistrarNotFoundConfiguration用于完成这个配置。

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

这个内部类导入了AutoConfiguredMapperScannerRegistrar.class配置类,其实这个配置类也是MybatisPlusAutoConfiguration的静态内部类。

 

其中核心功能就是下面这个方法

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

通过ClassPathMapperScanner 来扫描包,用于完成映射,ClassPathMapperScanner 是mybatis-spring中的配置类

ClassPathMapperScanner scanner = new ClassPathMapperScanner(registry);

如果用Mybatis-plus的自动配置,那么所有的Dao接口必须要用Mapper.class注解,因为Mybatis-plus设置的就为Mapper.class

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

最终会在scanner.registerFilters()这步操作中被添加到includeFilters中。

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

最终被扫描到的类与includeFilters匹配且不与excludeFilters匹配,最终才会筛选出保留的BeanDefinition.

 

mybatis-plus3 配置mapper和xml映射关系

遇见找不到方法

 

原因就是mapper接口与xml映射文件没有配置成功

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

解决mybatis-plus自动配置的mapper.xml与java接口映射问题

mybatis-plus.mapper-locations=classpath:static/mybatis_mapper/*.xml

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

原文链接:https://blog.csdn.net/canyanruxue/article/details/81873496

延伸 · 阅读

精彩推荐