本文来说下关于@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注解的几个问题相关推荐

  1. mapper注解的主要作用_Mybatis中mapper的xml解析详解

    上一篇文章分析了mapper注解关键类MapperAnnotationBuilder,今天来看mapper的项目了解析关键类XMLMapperBuilder. 基础介绍 回顾下之前是在分析config ...

  2. MyBatis中的@Mapper注解及配套注解使用详解

    https://blog.csdn.net/phenomenonstell/article/details/79033144 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写 ...

  3. SpringBoot中使用@Mapper注解需要哪个包

    场景 在Eclipse中新建springBoot项目后,要使用@Mapper注解. 实现 打开pom.xml 添加 <!-- mybatis整合Springboot --><depe ...

  4. MyBatis中的@Mapper注解使用

    前言:从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件. Mapper作用 作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类 添加位 ...

  5. SpringBoot2.1.9 Mybatis由于@Mapper注解多数据源配置不生效问题

    一.场景复现 (1)项目 目录 配置文件 spring:application:name: multi-datasourceprofiles:active: dev1datasource:type: ...

  6. @mapper注解的使用_SpringBoot-Mybatis通用mapper使用

    mybatis是一个很好用的工具,但是编写mapper是一件很麻烦的事,自mybatis 3.0开始可以使用注解的方式,极大的简化了xml的编写量,本地想看看mybatis源码,自己扩展写一个工具,在 ...

  7. 通用Mapper注解方式实现动态SQL

    1.通用Mapper注解方式实现动态SQL 注意:使用动态SQL后,不能使用分页助手,需要手动写分页SQL 对应的mapper接口实现SelectMapper接口 在对应的mapper接口中的方法上

  8. @Mapper注解学习

    @Mapper 是 Mybatis 的注解,和Spring没有关系.@Mapper注解的的作用 1:为了把mapper这个DAO交給Spring管理,参考 http://412887952-qq-co ...

  9. java 注解 map_@Mapper注解详解

    在上一节中,我们已经看到了MapStruct可以帮助我们自动根据一个添加@Mapper注解的接口生成一个实现类,在上一节的案例中,自动生成的是CarMapperImpl.class,而且我们也已经通过 ...

最新文章

  1. Java对点、线、面生成栅格瓦片jpg,并渲染呈现
  2. set class_ x set fid_ x
  3. 为什么美国互联网没有“运营”岗?
  4. 使用Subversion版本标识符
  5. idea 修改Git密码和账号方法
  6. Pytorch与tensorflow模型转换
  7. 论文学习17-Global Normalization of Convolutional Neural Networks(联合实体关系抽取CNN+CRF)2017
  8. git拉取项目以及提交项目
  9. 【腾讯出品】2019互联网行业趋势报告
  10. MQTT通信协议的简介、特点及实现原理 - 第1章
  11. python资料-python 资料
  12. 【练习8.7】cvGoodFeaturesToTrack确定图像强角点、cvFindCornerSubPix亚像素级角点检测...
  13. tinyhttpd源码分析
  14. CvCreateImage函数说明
  15. Apache-Flink深度解析-JOIN-LATERAL-Time Interval(Time-windowed)
  16. Day25|组合板子|216. 组合总和 III| 17. 电话号码的字母组合
  17. formidable示例运行报错,解决方法
  18. 逐渐成熟 Intel VT技术性能初探
  19. 物联网应用技术的十大基础功能
  20. 图文并茂详细教程之---Pixhawk扩展思岚A1激光雷达实现360°避障

热门文章

  1. Hibernate 简介
  2. spring异常处理-HandlerExceptionResolver
  3. Hadoop 实践(一) 环境搭建
  4. Hibernate -- hibernate.cfg.xml 核心配置文件
  5. server 2008 跨进新的平台(二)
  6. 打造智能家居安防系统 七个选购常识你需懂
  7. Java可变参数 Python可变参数 Scala可变参数
  8. 新概念英语第三册01-20课(转)
  9. httperf使用入门
  10. 教师节|祝所有可爱的讲师节日快乐!