Spring Boot MyBatis注解:@MapperScan和@Mapper

Spring Boot MyBatis注解:@MapperScan和@Mapper需求缘起:在之前的文章中,我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Controller之类的注解,那么为什么可以被Spring管理呢?(1)方式一:使用@Mapper注解为了让DemoMapper能够让别的类进行引用,我们可以在DemMapper类上添加@Mapper注解:Java代码@Mapper…

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

需求缘起:

       在之前的文章中,我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Controller之类的注解,那么为什么可以被Spring管理呢?

 

(1)方式一:使用@Mapper注解

       为了让DemoMapper能够让别的类进行引用,我们可以在DemMapper类上添加@Mapper注解:

Java代码  

收藏代码

  1. @Mapper  
  2. public interface DemoMapper {  
  3.     @Insert(“insert into Demo(name) values(#{name})”)  
  4.     @Options(keyProperty=“id”,keyColumn=“id”,useGeneratedKeys=true)  
  5.     public void save(Demo demo);  
  6. }  

 

直接在Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解,麻烦。

 

(2)方式二:使用@MapperScan注解

       通过使用@MapperScan可以指定要扫描的Mapper类的包的路径,比如:

Java代码  

收藏代码

  1. @SpringBootApplication  
  2. @MapperScan(“com.kfit.*.mapper”)  
  3. public class App {  
  4.     public static void main(String[] args) {  
  5.        SpringApplication.run(App.class, args);  
  6.     }  
  7. }  

 

或者:

Java代码  

收藏代码

  1. @SpringBootApplication  
  2. @MapperScan(“com.kfit.mapper”)  
  3. public class App {  
  4.     public static void main(String[] args) {  
  5.        SpringApplication.run(App.class, args);  
  6.     }  
  7. }  

 

       可以根据包的结构指定不同的表达式。

 

使用@MapperScan注解多个包

可以使用如下的方式指定多个包:

Java代码  

收藏代码

  1. @SpringBootApplication  
  2. @MapperScan({
    “com.kfit.demo”,“com.kfit.user”})  
  3. public class App {  
  4.     public static void main(String[] args) {  
  5.        SpringApplication.run(App.class, args);  
  6.     }  
  7. }  

 

       如果mapper类没有在Spring Boot主程序可以扫描的包或者子包下面,可以使用如下方式进行配置:

Java代码  

收藏代码

  1. @SpringBootApplication  
  2. @MapperScan({
    “com.kfit.*.mapper”,“org.kfit.*.mapper”})  
  3. public class App {  
  4.     public static void main(String[] args) {  
  5.        SpringApplication.run(App.class, args);  
  6.     }  
  7. }  

 

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

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

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


相关推荐

  • 数据库中导出表中对应字段到指定文件里「建议收藏」

    数据库中导出表中对应字段到指定文件里

    2022年1月26日
    47
  • JAVA MD5加密「建议收藏」

    JAVA MD5加密「建议收藏」一、什么是MD5加密MD5,全称为“MessageDigestAlgorithm5”,中文名“消息摘要算法第五版”,它是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。严格来说,它是一种摘要算法,是确保信息完整性的。不过,在某种意义上来说,也可以算作一种加密算法。MD5算法具有很多特点:压缩性:任意长度的数据,算出的MD5值长度都是固

    2022年7月8日
    41
  • 倒立摆起摆控制_旋转倒立摆原理

    倒立摆起摆控制_旋转倒立摆原理**基于STM32控制的旋转倒立摆**文章目录基于STM32控制的旋转倒立摆前言一、旋转倒立摆的结构1.相对编码器与绝对编码器2.相对编码器与绝对编码器的信号采集3.STM32编码器模式4.使用STM32CubeMx配置过程二、倒立摆模型建立三、实验方案与实验现象1.整体方案2.实验现象与上位机数据反思与总结前言近期在学习简易旋转倒立摆装置,倒立摆其实是一个十分经典的自动控制模型,不过开始学习了解结构和原理还是花了很多时间,在思路以及调试过程中遇到了很多困难。我认为倒立摆有两个难点,一个是自动

    2022年8月18日
    16
  • OpenCV—python 边缘检测(Canny)「建议收藏」

    OpenCV—python 边缘检测(Canny)「建议收藏」一、OpenCV-Python中Canny()参数"""cv2.Canny(image,#输入原图(必须为单通道图)threshold1,threshold2,#较大的阈值2用于检测图像中明显的边缘[,edges[,apertureSize[,#…

    2022年5月29日
    44
  • java和python哪个值得学-学java好还是Python好?

    java和python哪个值得学-学java好还是Python好?首先我简单的说下目前的市场发展行情,Java和Python发行时间都有很多年了,但是或许你自己也应该清楚,Python是什么时候开始步入我们的生活,步入我们的眼线的,对,就是近几年,这几年随着培训机构的不断兴起,互联网的快速发展,就我自己处在这个圈子来看,Python炒的有点凶了,大家都说Python是一胶水编程语言,意思就是说他可以做很多方面的工作,可以做:web开发,网络爬虫,数据分析,机器学…

    2022年7月8日
    22
  • linux的stat命令_fstat函数

    linux的stat命令_fstat函数#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>intstat(constchar*pathname,structstat*buf);pathname:用于指定一个需要查看属性的文件路径。buf:structstat类型指针,用于指向一个structstat结构体变量。调用stat函数的时候需要传入一个structstat变量的指针,获取到的文件..

    2022年8月21日
    6

发表回复

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

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