Mybatis中 mapper-locations和@MapperScan的作用

作者:普通网友 时间:2023-07-13 08:08:34 

SpringBoot集成Mybatis时mybatis.mapper-locations和@MapperScan的作用

1、mybatis.mapper-locations的作用

mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件,如图中所示:扫描的是resources下的mapper文件夹中所有的xml结尾的文件。 _注:如果全程使用@Mapper注解,可以不使用该配置,即@Mapper可以替代Mapper接口对应的.xml文件,SpringBoot提倡“约定优于配置”。_*

Mybatis中 mapper-locations和@MapperScan的作用

我们可以点进去,可以看到是@ConfigurationProperties修饰的类,它的作用是将配置文件中的属性映射到对象中

Mybatis中 mapper-locations和@MapperScan的作用

此处是会将配置文件中以mybatis前缀的属性映射到对应字段上,即将mybatis.mapper-locations通过set方法映射到MapperLocations属性上

Mybatis中 mapper-locations和@MapperScan的作用

Mybatis中 mapper-locations和@MapperScan的作用

2、@MapperScan的作用

@MapperScan写在SpringBoot的启动类上(xxxApplication.java),作用是扫描Mapper接口类。

Mybatis中 mapper-locations和@MapperScan的作用

点进去可以看到@MapperScan会注册BeanDefinition到BeanFactory中,即生成接口对应的实现类。具体怎么实现不在此处赘述,有兴趣可以自行查看源码

Mybatis中 mapper-locations和@MapperScan的作用

@Retention作用是定义被它所注解的注解保留多久 @Target表明注解的作用目标 Documented注解表明这个注解应该被 javadoc工具记录 @Import注解就是之前xml配置中的import标签,可以用于依赖第三方包中bean的配置和加载 @Repeatable注解表明标记的注解可以多次应用于相同的声明或类型

总结:

1、mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件

2、@MapperScan会扫描Mapper接口类,并生成对应的实现类。

来源:https://blog.csdn.net/m0_67401761/article/details/123669619

标签:Mybatis,locations,@MapperScan
0
投稿

猜你喜欢

  • SpringData如何通过@Query注解支持JPA语句和原生SQL语句

    2022-08-26 22:07:29
  • 详解从零开始---用C#制作扫雷游戏

    2022-06-14 13:33:12
  • C#、ASP.NET通用扩展工具类之LogicSugar

    2023-11-18 09:56:07
  • Java中synchronized关键字修饰方法同步的用法详解

    2022-03-05 07:11:22
  • 浅谈MyBatis 如何执行一条 SQL语句

    2023-10-17 19:36:03
  • Spring中@Scheduled和HttpClient的连环坑

    2023-10-19 23:06:00
  • 手把手带你实现一个萌芽版的Spring容器

    2023-03-10 15:45:44
  • java使用Hashtable过滤数组中重复值的方法

    2023-10-22 06:24:08
  • IDEA中使用Typora编辑md文件的方法

    2022-11-28 09:50:47
  • spring mvc中的@PathVariable获得请求url中的动态参数

    2023-08-22 22:08:40
  • Java Bean Validation使用示例详解

    2023-07-19 07:05:26
  • SpringCloud feign无法注入接口的问题

    2021-09-04 03:26:29
  • Kotlin 匿名类实现接口和抽象类的区别详解

    2021-09-04 07:14:58
  • 关于MyBatis中SqlSessionFactory和SqlSession简解

    2022-02-18 13:57:37
  • MyBatis动态sql查询及多参数查询方式

    2023-05-30 12:20:12
  • Unity 使用tiledmap解析地图的详细过程

    2023-06-02 18:40:57
  • Spring事务失效的场景梳理总结

    2023-02-23 16:23:24
  • C# Winform按钮中图片实现左图右字的效果实例

    2022-05-01 12:51:41
  • Java常用的八种排序算法及代码实现+图解

    2022-04-09 13:30:06
  • FasfDFS整合Java实现文件上传下载功能实例详解

    2022-05-27 02:30:46
  • asp之家 软件编程 m.aspxhome.com