@MapperScan的作用

发布时间 2023-07-03 16:05:32作者: 苦逼vs猴子

1、@Mapper注解的使用

先看看@Mapper
作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类。添加位置:接口类上面,代码如下所示:

@Mapper
public interface StudentMapper {
   //todo
}

2、@MapperScan注解的使用

作用:指定要变成实现类的接口所在的包,包下面的所有接口在编译之后都会生成相应的实现类。添加位置:是在Springboot启动类上面添加

@SpringBootApplication
@MapperScan("cn.mybatis.mappers")
public class SpringbootMybatisDemoApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringbootMybatisDemoApplication.class, args);
    }
}

区别:

添加@MapperScan(“cn.mybatis.mappers”)注解以后,cn.mybatis.mappers包下面所有的接口类,在编译之后都会生成相应的实现类

在不使用@MapperScan前,我们需要直接在Mapper类上面添加注解@Mapper,这种方式要求每一个Mapper类都需要添加此注解,非常麻烦,属于重复劳动。通过使用@MapperScan注解,可以让我们不用为每个Mapper类都添加@Mapper注解。