关于@Mapper注解的几个问题
本文来说下关于@Mapper注解的几个问题
文章目录
- @Mapper注解
- @MapperScan注解
- 使用@MapperScan注解多个包
- @MapperScan注解扫描非启动类下面的包
- 本文小结
@Mapper注解
作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面
@Mapper
public interface StudentMapper {List<Student> selectByStudentSelective();}
@MapperScan注解
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加
/*** 程序的* 主启动类*/
@MapperScan("cn.wideth.mapper")
@SpringBootApplication
public class PdaAndIpadApplication {public static void main(String[] args) {SpringApplication.run(PdaAndIpadApplication.class, args);}
}
添加@MapperScan(“cn.wideth.mapper”)注解以后,cn.wideth.mapper包下面的接口类,在编译之后都会生成相应的实现类。
在springboot项目中,@Mapper注解和@MapperScan注解都是在这个JAR包中导入的。也就是下面这个starter。
<!--mybatis-->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version>
</dependency>
@Mapper注解用来发现单个mapper,@MapperScan注解用来发现多个启动类所在包以及子包下面的mapper。
使用@MapperScan注解多个包
实际用的时候根据自己的包路径进行修改
/*** 程序的* 主启动类*/
@MapperScan({"cn.wideth.mapper","cn.wideth.mapper2"})
@SpringBootApplication
public class PdaAndIpadApplication {public static void main(String[] args) {SpringApplication.run(PdaAndIpadApplication.class, args);}
}
@MapperScan注解扫描非启动类下面的包
如果是使用多模块来开发springboot程序,可能存在包,和启动类所在的包不一致的问题。 如果dao接口类没有在Spring Boot主程序可以扫描的包或者子包下面,可以使用如下方式进行配置。
/*** 程序的* 主启动类*/
@MapperScan({"cn.wideth.mapper","com.wideth.mapper"})
@SpringBootApplication
public class PdaAndIpadApplication {public static void main(String[] args) {SpringApplication.run(PdaAndIpadApplication.class, args);}
}
本文小结
本文分析了一下@Mapper注解以及@MapperScan注解扫包的问题。
关于@Mapper注解的几个问题相关推荐
- mapper注解的主要作用_Mybatis中mapper的xml解析详解
上一篇文章分析了mapper注解关键类MapperAnnotationBuilder,今天来看mapper的项目了解析关键类XMLMapperBuilder. 基础介绍 回顾下之前是在分析config ...
- MyBatis中的@Mapper注解及配套注解使用详解
https://blog.csdn.net/phenomenonstell/article/details/79033144 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写 ...
- SpringBoot中使用@Mapper注解需要哪个包
场景 在Eclipse中新建springBoot项目后,要使用@Mapper注解. 实现 打开pom.xml 添加 <!-- mybatis整合Springboot --><depe ...
- MyBatis中的@Mapper注解使用
前言:从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件. Mapper作用 作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类 添加位 ...
- SpringBoot2.1.9 Mybatis由于@Mapper注解多数据源配置不生效问题
一.场景复现 (1)项目 目录 配置文件 spring:application:name: multi-datasourceprofiles:active: dev1datasource:type: ...
- @mapper注解的使用_SpringBoot-Mybatis通用mapper使用
mybatis是一个很好用的工具,但是编写mapper是一件很麻烦的事,自mybatis 3.0开始可以使用注解的方式,极大的简化了xml的编写量,本地想看看mybatis源码,自己扩展写一个工具,在 ...
- 通用Mapper注解方式实现动态SQL
1.通用Mapper注解方式实现动态SQL 注意:使用动态SQL后,不能使用分页助手,需要手动写分页SQL 对应的mapper接口实现SelectMapper接口 在对应的mapper接口中的方法上
- @Mapper注解学习
@Mapper 是 Mybatis 的注解,和Spring没有关系.@Mapper注解的的作用 1:为了把mapper这个DAO交給Spring管理,参考 http://412887952-qq-co ...
- java 注解 map_@Mapper注解详解
在上一节中,我们已经看到了MapStruct可以帮助我们自动根据一个添加@Mapper注解的接口生成一个实现类,在上一节的案例中,自动生成的是CarMapperImpl.class,而且我们也已经通过 ...
最新文章
- Java对点、线、面生成栅格瓦片jpg,并渲染呈现
- set class_ x set fid_ x
- 为什么美国互联网没有“运营”岗?
- 使用Subversion版本标识符
- idea 修改Git密码和账号方法
- Pytorch与tensorflow模型转换
- 论文学习17-Global Normalization of Convolutional Neural Networks(联合实体关系抽取CNN+CRF)2017
- git拉取项目以及提交项目
- 【腾讯出品】2019互联网行业趋势报告
- MQTT通信协议的简介、特点及实现原理 - 第1章
- python资料-python 资料
- 【练习8.7】cvGoodFeaturesToTrack确定图像强角点、cvFindCornerSubPix亚像素级角点检测...
- tinyhttpd源码分析
- CvCreateImage函数说明
- Apache-Flink深度解析-JOIN-LATERAL-Time Interval(Time-windowed)
- Day25|组合板子|216. 组合总和 III| 17. 电话号码的字母组合
- formidable示例运行报错,解决方法
- 逐渐成熟 Intel VT技术性能初探
- 物联网应用技术的十大基础功能
- 图文并茂详细教程之---Pixhawk扩展思岚A1激光雷达实现360°避障