@Mapper,@MapperScan与@Repository区别
从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区别相关推荐
- Maven:mirror和repository 区别、pom.xml 指定仓库地址、releases 和 snapshots 区别
文章目录 一.Maven:mirror 和 repository 区别 1.Repository(仓库) 1.1 Maven 仓库主要有2种 1.2 Remote Repository主要有3种 1. ...
- Maven:mirror和repository 区别
http://m.oschina.net/blog/100634 internal repository是指在局域网内部搭建的repository,它跟central repository, jbos ...
- Spring中的注解@Service @Component @Controller @Repository区别
@Service用于标注业务层组件, @Controller用于标注控制层组件(如struts中的action), @Repository用于标注数据访问组件,即DAO组件, @Component泛指 ...
- mybatis注解之@Mapper和@MapperScan的使用
+ 目录 mybatis注解之@Mapper和@MapperScan 方式一:使用@Mapper注解 方式二:使用@MapperScan注解 @MapperScan和@Mapper区别及理解 作用 扫 ...
- @Mapper和@Repository的问题
今天用最新的 <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter- ...
- @MapperScan与@Mapper
@MapperScan与@Mapper @MapperScan与@Mapper 背景说明 @MapperScan与@Mapper的作用 通过@Mapper让Mybatis对接口提供代理实现 通过@Ma ...
- 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' ...
- Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件
前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...
- tk mybatis通用mapper
tk mybatis通用mapper 首先要明白, tk mybatis是国人写的对mybatis的增强包, 而不是mybatis官方出的官方包 其github网址如下: https://github ...
最新文章
- php内置常用函数是哪些,PHP常用函数有哪些
- php要求输入是个数求平均值、_【227期】EXCEL求平均值的各种套路汇聚合,最后难倒70%的人...
- 【BLE MIDI】MIDI 时间标志分析 ( 音符速度设置事件 | 拍号设置事件 | 基本时间 - 每个四分音符有多少 tick 或 pulse | 节拍时值计算 | 小节时值计算 )
- [分享]学历与学习力
- 互联网思维与非摩擦经济
- Allegro如何导入导出DXF
- postman面试_Postman 收费太贵了,我决定用 Postwoman。。。
- POJ - 3630 Phone List(字典树)
- Go语言字符串和正则表达式
- 2017.9.28 lca 失败总结
- 罗永浩团队于天津成立品牌管理公司
- PAT Basic 1012
- python 安装pandas_Python安装的正确姿势(视频教程)(pip命令安装Pandas、Numpy、jupyter)...
- 【杂文】总结专访李运华一文
- vmware虚拟机安装win11系统教程
- 技术文档系列之架构设计文档模板
- VS Code格式化代码插件Beautify
- 【芯片前端】Filelist -f/-F的文件解析方式探究
- 阿里云Codeup云效使用flow+k8s部署go语言项目
- 记一次SPA项目打包优化的过程