从mybatis3.4.0开始加入了@Mapper注解,它可以在编译之后自动生成相应的接口实现类,不用再写如下图所示的mapper映射文件。

用@Mapper直接在接口中写 ,编译时自动生成实现类,具体写法见下图。

如果需要让多个接口都变成实现类,用@Mapper一个个添加太麻烦,这时我们在Springboot启动类添加@MapperScan,指定要扫描的mapper的包的路径,然后包下面的所有接口在编译之后都会生成相应的实现类,实现批量添加@Mapper注解。

根据百度结果,@Mapper = @MapperScan(自动扫描配置)+Repository,单独有Mapper的时候,Autowired会报错,但可以运行。

简而言之,批量用@MapperScan,单个@Mapper

注:

@MapperScan用来扫描定义包下的所有的接口,给接口都生成一个bean(经测试,即便bean已经存在,@MapperScan还是会将这些接口再注册一个bean,导致出错)。

其源码里有个annotationClass,默认值是Annotation.classs。

Class<? extends Annotation> annotationClass() default Annotation.class;

注解如下所示加个参数,就能解决上面的问题。

@MapperScan(basePackages = "com.zhi.test", annotationClass = Mapper.class)

经验证,一些无关的接口不再注册为一个bean。

(——引自关于MyBatis的@Mapper和@MapperScan注解的一点思考 - 玄同太子 - 博客园)

@Mapper,@MapperScan与@Repository区别相关推荐

  1. Maven:mirror和repository 区别、pom.xml 指定仓库地址、releases 和 snapshots 区别

    文章目录 一.Maven:mirror 和 repository 区别 1.Repository(仓库) 1.1 Maven 仓库主要有2种 1.2 Remote Repository主要有3种 1. ...

  2. Maven:mirror和repository 区别

    http://m.oschina.net/blog/100634 internal repository是指在局域网内部搭建的repository,它跟central repository, jbos ...

  3. Spring中的注解@Service @Component @Controller @Repository区别

    @Service用于标注业务层组件, @Controller用于标注控制层组件(如struts中的action), @Repository用于标注数据访问组件,即DAO组件, @Component泛指 ...

  4. mybatis注解之@Mapper和@MapperScan的使用

    + 目录 mybatis注解之@Mapper和@MapperScan 方式一:使用@Mapper注解 方式二:使用@MapperScan注解 @MapperScan和@Mapper区别及理解 作用 扫 ...

  5. @Mapper和@Repository的问题

    今天用最新的 <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter- ...

  6. @MapperScan与@Mapper

    @MapperScan与@Mapper @MapperScan与@Mapper 背景说明 @MapperScan与@Mapper的作用 通过@Mapper让Mybatis对接口提供代理实现 通过@Ma ...

  7. Field XXXService in com.XXX.controller.XXX required a bean of type ‘com.XXX.mapper.xxx‘that could no

    解决办法: Field surveyTypeService in com.XXX.controller.XXX required a bean of type 'com.XXX.mapper.xxx' ...

  8. Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件

    前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...

  9. tk mybatis通用mapper

    tk mybatis通用mapper 首先要明白, tk mybatis是国人写的对mybatis的增强包, 而不是mybatis官方出的官方包 其github网址如下: https://github ...

最新文章

  1. php内置常用函数是哪些,PHP常用函数有哪些
  2. php要求输入是个数求平均值、_【227期】EXCEL求平均值的各种套路汇聚合,最后难倒70%的人...
  3. 【BLE MIDI】MIDI 时间标志分析 ( 音符速度设置事件 | 拍号设置事件 | 基本时间 - 每个四分音符有多少 tick 或 pulse | 节拍时值计算 | 小节时值计算 )
  4. [分享]学历与学习力
  5. 互联网思维与非摩擦经济
  6. Allegro如何导入导出DXF
  7. postman面试_Postman 收费太贵了,我决定用 Postwoman。。。
  8. POJ - 3630 Phone List(字典树)
  9. Go语言字符串和正则表达式
  10. 2017.9.28 lca 失败总结
  11. 罗永浩团队于天津成立品牌管理公司
  12. PAT Basic 1012
  13. python 安装pandas_Python安装的正确姿势(视频教程)(pip命令安装Pandas、Numpy、jupyter)...
  14. 【杂文】总结专访李运华一文
  15. vmware虚拟机安装win11系统教程
  16. 技术文档系列之架构设计文档模板
  17. VS Code格式化代码插件Beautify
  18. 【芯片前端】Filelist -f/-F的文件解析方式探究
  19. 阿里云Codeup云效使用flow+k8s部署go语言项目
  20. 记一次SPA项目打包优化的过程

热门文章

  1. centos 7 安装极点五笔中文输入法
  2. 原来微信还有这三个实用小技巧!简直太方便了
  3. 生物信息百Jia软件(十七):flash
  4. 天馈线测试仪具备什么功能
  5. 3dMax 入门(高脚杯)
  6. 《机器学习技法》第5课笔记 核函数逻辑回归
  7. 《女医明妃传》里为美人腹黑的代宗,实际更爱江山,还原真实明史
  8. 高项、高级项目管理师论文-风险管理
  9. CodeForces 1K-1600R-1407C Chocolate Bunny
  10. 计算机英语是啥意思啊,电脑的英文是什么意思