SpringBoot集成Mybatis中@Mapper与@MapperScan注解的区别

一、前言

在使用SpringBoot整合Mybatis持久层框架时,对于Mybatis生成的接口类 *Mapper,这些接口类 *Mapper在这里充当了Dao层的角色,因此需要将其标注为一个Bean注入到Spring容器,交给Spring来管理。想要注入到Spring容器管理,有两种实现方式。例如我有一个ProductMapper和一个OrderMapper

  • 方式一: 在ProductMapper和OrderMapper接口类上都加上一个@Mapper注解
  • 方式二: 在SpringBoot启动类上面加入一个@MapperScan,指明需要扫描的ProductMapper和OrderMapper类路径。

下面分别介绍两种注解的作用和实现方式,以及优缺点。

二、@Mapper注解

使用: 在单个接口类*Mapper上标注,编译之后会生成相应的接口实现类,同时会注入Bean到Spring容器。
位置: 标注在某个对应的接口类上。
缺点: 每一个接口类*Mapper上都需要标注@Mapper注解,很繁琐,这是一种重复而且无用的工作。

 

猜你喜欢

转载自blog.csdn.net/Thinkingcao/article/details/108124361