mybatis的mapper-locations配置

这篇具有很好参考价值的文章主要介绍了mybatis的mapper-locations配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Spring-boot配置mybatis的mapper-locations解决什么问题?

mapper-locations

顾名思义是一个定义mapper位置的属性
在yml或properties下配置,作用是实现mapper接口配置见mapper和接口的绑定。

使用场景:

当mapper接口和mapper接口对应的配置文件在

  • 命名上相同
  • 所在的路径相同 

mybatis的mapper-locations配置

则mapper-locations可以不用配置,配置也不会生效。

但是,如果
当mapper接口和mapper接口对应的配置文件在

  • 命名上不同或
  • 所在的路径不同

之一不同,需要配置mapper-locations才能实现接口的绑定

mybatis的mapper-locations配置

mapper接口:com.liuzeyu.mapper.UserMapper.java
配置文件:mapper.UserMapper.xml

实现接口绑定需要在配置文件中配置:

mybatis.mapper-locations=classpath:mapper/*Mapper.xml

 二、该怎么配置?

形如
mapper-locations: classpath*:mapper/*.xml
本质在于把mapper的位置告诉springboot,类似主启动类中mapperscan的作用,但是这里多了一个classpath,这是没有在原本的包结构中出现过的。

 文章来源地址https://www.toymoban.com/news/detail-412897.html

mybatis的mapper-locations配置

但是,我们运行项目,会发现target文件的结构。

mybatis的mapper-locations配置

原本的src/main/java下的文件全部放在com中,而resource内的文件则跟com处于同级目录。classpath就代表这里的classes。

三、classpath和classpath*的区别

classpath:只会到你的class路径中查找找文件。

classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。

注意: 用classpath*:需要遍历所有的classpath,所以加载速度是很慢的;因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。
 

 

到了这里,关于mybatis的mapper-locations配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot mybatis plus mapper如何自动注册到spring bean容器

    ##@Import(AutoConfiguredMapperScannerRegistrar.class) ##注册MapperScannerConfigurer ##MapperScannerConfigurer.postProcessBeanDefinitionRegistry方法扫描注册mapper ##找到mapper候选者 ##过滤mapper 类 候选者 ##BeanDefinitionHolder注册到spring 容器

    2024年01月17日
    浏览(48)
  • Spring5学习随笔-整合MyBatis(持久层)、连接池、Mapper文件

    学习视频:【孙哥说Spring5:从设计模式到基本应用到应用级底层分析,一次深入浅出的Spring全探索。学不会Spring?只因你未遇见孙哥】 JavaEE开发需要持久层进行数据库的访问操作。 JDBC MyBatis、Hibernate进行持久开发过程存在大量的代码冗余 Spring基于模板设计模式对与上述的持

    2024年02月05日
    浏览(51)
  • Mybatis|mapper配置文件xml位置

    在核心配置文件mybatis-config.xml中设置映射文件位置 application.yml文件中添加配置: mybatis案例中和springboot中都是一样的,只要目录名和包名相同 需要在pom.xml中添加如下内容 越努力,越幸运! codefishyyf与你一起努力!

    2024年02月06日
    浏览(72)
  • mybatisplus 使用mybatis中的配置、mapper配置文件

    即在和application.properties同级目录下的mybatis目录中创建mybatis的配置文件mybatis-config.xml 其内容如下 方式一的目录结构: 1、在application.properties中再添加一行mapper映射地址 修改mapper映射的配置文件路径,这次不用在和mapper接口的路径一一对应,只需要在resource/mybatis/mapper/UserMa

    2023年04月08日
    浏览(43)
  • 答疑解惑:解释在Mybatis-Spring下@Mapper与@MapperScan为何不能同时生效以及实现动态条件注册Mapper接口

    若项目中使用了@MapperScan注解后,则@Mapper注解不再生效 , 原因是:@MapperScan注解 会执行@Import(MapperScannerRegistrar.class),而MapperScannerRegistrar又会注册MapperScannerConfigurer BEAN,在MapperScannerConfigurer BEAN中会完成基于配置的包目录扫描注册所有mapper interface代理BEAN,而@Mapper注解的生效

    2024年02月11日
    浏览(43)
  • 11 spring-boot的MVC配置原理

            1.ContentNegotiatingViewResolver视图解析器;         2.静态资源或者支持WebJars;         3.自动注册类型转换器:比如说前台提交user的字段,后台自动封装的意思;         4.HttpMessageConverters:转换http的请求和相应,比如把一个user字符串转为一个json字符串;        

    2024年02月15日
    浏览(42)
  • 在springboot中配置mybatis(mybatis-plus)mapper.xml扫描路径的问题

    我曾经遇到过类似问题: mybatis-plus的mapper.xml在src/main/java路径下如何配置pom.xml和application.yml_idea 把mapper文件放到java下如何配置_梓沂的博客-CSDN博客 当时只是找到解决问题的办法,但对mybatis配置来龙去脉并未深入了解,所以再次遇到问题还是受此困扰。 重新复习mybatis plus和

    2024年02月10日
    浏览(41)
  • Spring-boot context.initializer.classes 配置的使用

    在Spring Boot中, context.initializer.classes 是一个属性,允许你在 application.properties 或 application.yml 配置文件中指定一个或多个实现 ApplicationContextInitializer 接口的类。这些类可以在Spring应用上下文初始化之前执行一些自定义的初始化逻辑。 以下是一个使用 context.initializer.classes 属性

    2024年04月11日
    浏览(41)
  • 图文并茂spring-boot3 热部署配置(IntelliJ IDEA 2023.1)

    🥫 JDK:17 🥫 IDEA:IntelliJ IDEA 2023.1 🥫 spring-boot:3.10 消失的 Compiler autoMake allow when app running 先看了网上找到的一些方法,到了下面这一步自己发现idea没有了这个选项。 ctrl + shift + alt + / ,选择Registry,勾上 Compiler autoMake allow when app running 没得说,重新再看看其他方法吧。 我这

    2024年02月09日
    浏览(45)
  • Mybatis异常Invalid bound statement (not found)原因之Mapper文件配置不匹配

    模拟登录操作 网页提示服务器代码错误 后端显示无法找到Mapper中对应的方法 原因 相信我们在学习Mybatis的时候都出现过 Invalid bound statement (not found) 这个错误, 一般由以下几种可能导致这个错误 第一种:mapper.xml中的namespace和实际的mapper文件不一致 第二种:mapper.xml中的id名与

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包