mybatis-plus mapper.xml与java接口映射 解决mybatis-plus自动配置的mapper.xml与java接口映射问题
一叶呼呼 人气:0想了解解决mybatis-plus自动配置的mapper.xml与java接口映射问题的相关内容吗,一叶呼呼在本文为您仔细讲解mybatis-plus mapper.xml与java接口映射的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:mybatis-plus自动配置,mapper.xml,java接口映射,mybatismapper接口,下面大家一起来学习吧。
mybatis-plus自动配置mapper.xml与java接口映射
本来没有mybatis-plus的话,这个工作是通过mybatis-spring的MapperScan来完成的。
Mybatis-plus中的自动配置类MybatisPlusAutoConfiguration.class中有一个静态内部类
MapperScannerRegistrarNotFoundConfiguration用于完成这个配置。
这个内部类导入了AutoConfiguredMapperScannerRegistrar.class配置类,其实这个配置类也是MybatisPlusAutoConfiguration的静态内部类。
其中核心功能就是下面这个方法
通过ClassPathMapperScanner 来扫描包,用于完成映射,ClassPathMapperScanner 是mybatis-spring中的配置类
ClassPathMapperScanner scanner = new ClassPathMapperScanner(registry);
如果用Mybatis-plus的自动配置,那么所有的Dao接口必须要用Mapper.class注解,因为Mybatis-plus设置的就为Mapper.class
最终会在scanner.registerFilters()这步操作中被添加到includeFilters中。
最终被扫描到的类与includeFilters匹配且不与excludeFilters匹配,最终才会筛选出保留的BeanDefinition.
mybatis-plus3 配置mapper和xml映射关系
遇见找不到方法
原因就是mapper接口与xml映射文件没有配置成功
mybatis-plus.mapper-locations=classpath:static/mybatis_mapper/*.xml
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容