@Mapper 与 @MapperScan 的区别[通俗易懂]

@Mapper 与 @MapperScan 的区别[通俗易懂]文章目录1、@Mapper注解2、@MapperScan2.1、@MapperScan扫描多个包2.2、@MapperScan使用表达式,来扫描的包和其子包下面的类3、总结:1、@Mapper注解作用:用在接口类上,在编译之后会生成相应的接口实现类位置:对应的某个接口类上面@MapperpublicinterfaceEmployeeMapper{publicEm…

大家好,又见面了,我是你们的朋友全栈君。

1、@Mapper

作用:用在接口类上,在编译之后会生成相应的接口实现类
位置:对应的某个接口类上面

@Mapper
package com.aop8.demo.mapper;

public interface EmployeeMapper { 
   
    public Employee getEmpById(Integer id);
    public void insertEmp(Employee employee);
}

如果每个接口类 都要 @Mapper 注解,是重复而无聊的工作,解决这个问题用 @MapperScan

2、@MapperScan

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

接口类

package com.aop8.demo.mapper;

public interface EmployeeMapper { 
   
    public Employee getEmpById(Integer id);
    public void insertEmp(Employee employee);
}

EmployeeMapper.xml 省略…
mybatis 相关的全局配置 省略…

SpringBootApplication 启动类

@MapperScan("com.aop8.demo.mapper")
@SpringBootApplication
public class SpringBootApplication { 
   
	public static void main(String[] args) { 
   
		SpringApplication.run(SpringBootApplication.class, args);
	}
}

SpringBootApplication 上添加 @MapperScan("com.aop8.demo.mapper") 注解,会扫描 com.aop8.demo.mapper 包下面所有的接口类,在编译之后都会生成相应的实现类。

2.1、@MapperScan 支持扫描多个包

@MapperScan 也支持多个包的扫描。

@MapperScan({ 
   "com.aop8.emp.mapper","com.aop8.dep.mapper"})
@SpringBootApplication
public class SpringBootApplication { 
   

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

2.2、 @MapperScan 支持表达式,扫描包和其子包中的类

@SpringBootApplication   
@MapperScan({ 
   "com.aop8.*.mapper","com.baidu.*.mapper"})   
public class SpringBootApplication { 
          
	public static void main(String[] args) { 
             
		SpringApplication.run(SpringBootApplication.class, args); 
    }
}

3、总结:

@Mapper 是对单个接口类的注解。单个操作。

@MapperScan 是对整个包下的所有的接口类的注解。是批量的操作。使用 @MapperScan 后,接口类 就不需要使用 @Mapper 注解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ibm x201 怎么清理内部_联想 Thinkpad x201i怎么拆机清理风扇灰尘?_硬件教程「建议收藏」

    ibm x201 怎么清理内部_联想 Thinkpad x201i怎么拆机清理风扇灰尘?_硬件教程「建议收藏」笔记本散热风扇使用时间长了就累积很多灰尘,堵塞出风口,从而大幅降低散热效果。因此有必要对其清理。要彻底清理风扇灰尘,需要拆机方可。首先要把笔记本的电池取下。这款笔记本的硬盘仓很隐蔽,不过在D面还是有明显的图标提示,拧下螺丝和卡扣,即可看到硬盘。硬盘盖拆下来之后,只需用力的拔出黑带即可把硬盘取下。电池、硬盘、内存都取下之后,我们用螺丝刀把D壳周围的螺丝你拧下,之后就可以开始拆卸键盘以及外壳了。拆卸键…

    2022年6月27日
    53
  • Linux中PLSQL视频,PLSQL使用视频教程:PLSQL的使用方法「建议收藏」

    Linux中PLSQL视频,PLSQL使用视频教程:PLSQL的使用方法「建议收藏」不少小伙伴对PLSQL的应用还不是很了解,大家不必担心,在PLSQL使用视频教程中会告诉大家如何使用PLSQL。初次登录PLSQL:登录信息保存功能设置:这样第一次通过用户名/密码登录某数据库后,下次就不用再输入用户名/密码了。进入PLSQL后切换数据库连接:PLSQL中编写SQL语句并执行注意:选中要执行的语句,再执行,否则将执行所有SQL语句。执行快捷键为:F8有的老版本执行语句的按钮是这个样…

    2022年6月1日
    40
  • PHP数组详解

    作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系。数组的分类

    2021年12月27日
    40
  • Framework7 Vue 教程 入门 学习

    Framework7 Vue 教程 入门 学习网上关于Framework7的博客、学习资料少之又少,所以我想把我学习Framework7Vue的入门记录一下。Framework7Framework7是一个开源免费的框架可以用来开发混合移动应用(原生和HTML混合)或者开发iOS&Android风格的WEBAPP。也可以用来作为原型开发工具,可以迅速创建一个应用的原型。Framework7最主要的功能是可以…

    2022年6月3日
    192
  • android集成chrome内核_java实现ie内核

    android集成chrome内核_java实现ie内核参照开源代码jcefhttps://bitbucket.org/chromiumembedded/java-cef实现效果支持开发者工具项目源代码,目前只编译了32位http://pan.baidu.com/s/1skcXKlf…

    2025年8月3日
    2
  • 很有趣的Java分形绘制

    部分与整体以某种形式相似的形,称为分形。首先我们举个例子:我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形。换句话说,较小的分支通过放大适当的比例后可以得到一个与整体

    2021年12月20日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号