Mybatis中mybatis.mapper-locations和@MapperScan的作用

2023-10-21 14:50

本文主要是介绍Mybatis中mybatis.mapper-locations和@MapperScan的作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

之前与数据交互一直使用的ORM框架,新公司使用的是mybatis,现做一些总结。

1、mybatis.mapper-locations的作用
mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件,如图中所示:扫描的是resources下的mapper文件夹中所有的xml结尾的文件。
_注:如果全程使用@Mapper注解,可以不使用该配置,即@Mapper可以替代Mapper接口对应的.xml文件,SpringBoot提倡“约定优于配置”。_*
在这里插入图片描述
我们可以点进去,可以看到是@ConfigurationProperties修饰的类,它的作用是将配置文件中的属性映射到对象中
在这里插入图片描述
此处是会将配置文件中以mybatis前缀的属性映射到对应字段上,即将mybatis.mapper-locations通过set方法映射到MapperLocations属性上
在这里插入图片描述
在这里插入图片描述
2、@MapperScan的作用
@MapperScan写在SpringBoot的启动类上(xxxApplication.java),作用是扫描Mapper接口类。
在这里插入图片描述
点进去可以看到@MapperScan会注册BeanDefinition到BeanFactory中,即生成接口对应的实现类。具体怎么实现不在此处赘述,有兴趣可以自行查看源码
在这里插入图片描述
@Retention作用是定义被它所注解的注解保留多久
@Target表明注解的作用目标
Documented注解表明这个注解应该被 javadoc工具记录
@Import注解就是之前xml配置中的import标签,可以用于依赖第三方包中bean的配置和加载
@Repeatable注解表明标记的注解可以多次应用于相同的声明或类型

----------------------------------------------------分割线--------------------------------

总结:
1、mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件
2、@MapperScan会扫描Mapper接口类,并生成对应的实现类。

这篇关于Mybatis中mybatis.mapper-locations和@MapperScan的作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255099

相关文章

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处