一、前言
在使用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注解,很繁琐,这是一种重复而且无用的工作。