@Mapper 、@MapperScan、 @Repository使用
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
推荐阅读
-
Asp.net Webform 使用Repository模式实现CRUD操作代码生成工具
-
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程——使用Repository模式构建数据库访问层
-
@Mapper 、@MapperScan、 @Repository使用
-
org.mapstruct:mapstruct 包(@Mapper、@Mapping)的使用
-
SpringBoot集成mybatis(配置通用mapper)并且使用druid作为数据库连接池
-
mybatis 通用 mapper 使用时抛出TypeVariableImpl ClassCastException
-
TKmybatis的使用,MyBatis的Mapper接口、Example方法
-
@MapperScan和@ComponentScan一块使用导致冲突的解决
-
个人使用:pom.xml、mybatis-config.xml、mapper.xml和MybatisUtils.java文件
-
使用Device Mapper插件改变Docker容器大小的方法详解