@MapperScan注解与@Mapper注解的使用

@MapperScan注解与@Mapper注解使用

@Mapper一般对应一个接口,相当于一个mapper.xml文件,它的作用就是将接口生成一个动态代理类。

当我们写的mapper接口比较多的时候,我们没必须花太多时间一个一个的写,这样写太麻烦了,我们可以使用@ManpperScan注解,指明要扫描的包,它可以扫描所有的mapper文件。

它是如何做到的,我们可以查看里面的源码,主要起作用的就是里面的@Import注解

@MapperScan注解与@Mapper注解的使用_第1张图片

感兴趣的可以继续查看MapperScannerRgiatrar的源码,主要看registerBeanDefinitions这个方法,你就会豁然开朗。

@MapperScan注解与@Mapper注解的使用_第2张图片

MapperScan注解和@Mapper的区别

如下所述:

最早我们在mapper接口上添加@Mapper,通过xml文件下的namespace命名空间自动注入bean,这种方式要求每一个mapper类都需要添加此注解,比较麻烦;

我们可以在启动类上添加@MapperScan(“Mapper类的包的路径”)这个注解,来对mapper包进行扫描,从而使得mapper层中的接口可以不使用@Mapper注解;

同时,使用@MapperScan注解多个包。

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

你可能感兴趣的