mapperscan和mapper区别
时间: 2023-09-26 13:08:23 浏览: 67
Mapperscan和Mapper是MyBatis框架中的两个不同的概念。
Mapper是MyBatis中用于定义数据库操作的接口,通过定义接口方法和对应的SQL语句,实现对数据库的增删改查操作。
Mapperscan是MyBatis-Spring框架中的注解,用于自动扫描Mapper接口并创建对应的实现类。在应用程序启动时,Mapperscan会自动扫描指定包路径下的所有Mapper接口,并将其实例化为对应的实现类,这样在其他地方就可以直接使用@Autowired注解来注入Mapper接口对象了。
因此,Mapper和Mapperscan是两个不同的概念,Mapper是定义数据库操作接口的概念,而Mapperscan是自动扫描Mapper接口并创建实现类的注解。
相关问题
mapperScan 和 mapper 注解
mapperScan注解和mapper注解是MyBatis框架中的两种注解,它们的作用略有不同。
mapperScan注解用于在启动类上添加,通过指定Mapper类的包路径进行扫描,从而将mapper层中的接口自动注入为bean,无需再在每个mapper接口上添加@Mapper注解。 这样做可以简化开发过程,减少代码冗余。
而mapper注解则是用于在mapper接口上添加的注解,通过xml文件的namespace命名空间自动注入bean,需要在每个mapper接口上添加@Mapper注解。这种方式相对较繁琐,需要手动为每个mapper接口添加注解。
总结来说,mapperScan注解是用于自动扫描mapper接口并将其注入为bean的,而mapper注解是用于手动标注mapper接口的。它们的使用方式和效果有所区别,开发者可以根据自己的需求选择适合的注解。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [MapperScan注解和@Mapper的区别,怎么用](https://blog.csdn.net/weixin_46310452/article/details/112682728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [详解 @MapperScan 注解和 @Mapper 注解](https://blog.csdn.net/jialiguo/article/details/100019472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
@MapperScan @Mapper 优先级
@MapperScan 和 @Mapper 注解在 MyBatis 中都是用来扫描和注册 Mapper 接口的。
@MapperScan 是一个配置类注解,用于扫描指定包下的 Mapper 接口,并将其注册到 Spring 容器中。它可以放在启动类上或者配置类上,指定要扫描的包路径即可。
@Mapper 是一个接口注解,用于将接口标记为 MyBatis 的 Mapper 接口。它告诉 MyBatis 根据接口定义自动生成相应的实现类。
在使用这两个注解的时候,@MapperScan 的优先级高于 @Mapper。如果同一个 Mapper 接口既被 @MapperScan 注解扫描到了,又被 @Mapper 注解标记了,那么 @MapperScan 将会覆盖 @Mapper。
总结一下,@MapperScan 注解用来批量注册 Mapper 接口,@Mapper 注解用来单独注册 Mapper 接口。在使用时,@MapperScan 的优先级高于 @Mapper。
阅读全文