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年6月12日 上午9:46
下一篇 2022年6月12日 上午9:46


相关推荐

  • python解压bz2文件命令,在Python中解压缩.bz2文件

    python解压bz2文件命令,在Python中解压缩.bz2文件So,thisisaseeminglysimplequestion,butI’mapparentlyveryverydull.Ihavealittlescriptthatdownloadsallthe.bz2filesfromawebpage,butforsomereasonthedecompressingofthatfile…

    2022年5月31日
    188
  • 保姆级教程:6步用DeepSeek搭建本地知识库(附代码)

    保姆级教程:6步用DeepSeek搭建本地知识库(附代码)

    2026年3月16日
    2
  • gml格式数据转换

    gml格式数据转换gml 格式数据转换在国外很多网络数据给出的都是 gml 格式 Newman 主页的数据 但是 Matlab C 等语言最喜欢的还是 TXT 等常用格式 在这里 我们会告诉你如何把 gml 格式转换为其他格式 在这里我们主要用到软件是 Gephi 可以画超炫的网络图 和 Matlab 1 打开 Gephi 文件 打开 2 选择需要转换的 gml 格式文件 football gml 确定 3 选择数据资料 数据表格

    2026年3月19日
    2
  • linux清除隐藏的挖矿程序

    linux清除隐藏的挖矿程序1.找出cpu高的程序,top找不到的话,用下面命令ps-aux–sort=-pcpu|head-102.杀掉相关进程kill-9pid3.查看crontab是否有定时任务4.删除相关命令[root@dbserverlib]#lsattrlibiacpkmn.so.3—-i——–e–libiacpkmn.so.3[root@dbserverlib]#chattr-ilibiacpkmn.so.3[root@dbserver

    2022年6月16日
    34
  • indexedDB_INDEX函数

    indexedDB_INDEX函数indexedDB介绍原生介绍indexedDB是一个前端数据持久化解决方案(即前端缓存),由浏览器实现。0.兼容性1.特点基于文件存储。意味着其容量可达到硬盘可用空间上限非关系型数据库。意味着扩展或收缩字段一般无须修改数据库和表结构(除非新增字段用做索引)键值对存储。意味着存取无须字符串转换过程存储类型丰富。意味着浏览器缓存中不再是只能存字符串了异步:意味着所有操作都要在回调中进行2.数据库一组相关业务数据的存储集合。创建一个数据库windo

    2025年7月24日
    4
  • 能与PowerDesigner媲美的数据库建模工具PDMan[通俗易懂]

    软件生存周期分为:1、可行性分析与项目开发计划2、需求分析3、概要设计4、详细设计5、编码6、测试7、维护而数据库建模工作就发生在“编码”之前,“概要设计”与“详细设计”中。在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。当然,一款实用、便利的工具,会使我们的工作效率大大提高,今天我们就来介绍一款能与PowerD…

    2022年4月8日
    251

发表回复

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

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