欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

@Mapper 、@MapperScan、 @Repository使用

程序员文章站 2022-10-03 18:09:33
1、@Mapper作用:用在接口类上,在编译之后会生成相应的接口实现类,是mybatis的注解。位置:对应的某个接口类上面@Mapperpublic interface EmployeeMapper {public Employee getEmpById(Integer id);public void insertEmp(Employee employee);}如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用 @MapperScan...

1、@Mapper

作用:用在接口类上,在编译之后会生成相应的接口实现类,是mybatis的注解。
位置:对应的某个接口类上面
如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用 @MapperScan 。

2、@MapperScan

作用:扫描指定包下所有的接口类,然后所有接口在编译之后都会生成相应的实现类
位置:是在SpringBoot启动类上面添加,
SpringBootApplication 启动类
@MapperScan(“com.springboot.mapper”)
@SpringBootApplication
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}

添加 @MapperScan(“com.springboot.mapper”) 注解以后,扫描 com.springboot.mapper 包下面所有的接口类,在编译之后都会生成相应的实现类。
2.1、@MapperScan 扫描多个包
@MapperScan 也支持多个包的扫描。
@MapperScan({“com.emp.mapper”,“com.dep.mapper”})
@SpringBootApplication
public class SpringBootApplication {

public static void main(String[] args) {
	SpringApplication.run(SpringBootApplication.class, args);
}

}

2.2、 @MapperScan 使用表达式,来扫描的包和其子包下面的类
@SpringBootApplication
@MapperScan({“com..mapper","org..mapper”})
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}

3、@Repository

@Repository注解是Spring的注解,把类注册成一个bean。使用了此注解在mapper上后,需要在主启动类添加@MapperScan才能编译之后会生成相应的接口实现类。

4、总结:

@Mapper 是对单个类的注解。是单个操作。
@MapperScan 是对整个包下的所有的接口类的注解。是批量的操作。
@Repository是spring注解需要和@MapperScan配合使用。

本文地址:https://blog.csdn.net/qq_21190847/article/details/107455645