前言:我们在平常工作中用到mybatis去加载Mapper.xml文件,可能mapper文件放的路径不一样,由此我们需要配置多个路径,幸运的是Mybatis支持我们配置多个不同路径。现在介绍两种方法。

一、配置文件:

SpringBoot和Mybatis整合已经天然支持这种方式,只需要在配置文件添加多个路径用逗号隔开


mybatis:mapper-locations: classpath*:com/pab/cc/fas/mapper/*Mapper*.xml,classpath*:com/pab/cc/ces/mapper/*Mapper*.xml,classpath*:com/pab/cc/ams/mapper/*Mapper*.xmltype-aliases-package: com.urthink.upfs.springbootmybatis.entity#IDENTITY: MYSQL #取回主键的方式#notEmpty: false #insert和update中,是否判断字符串类型!=''configuration:#进行自动映射时,数据以下划线命名,如数据库返回的"order_address"命名字段是否映射为class的"orderAddress"字段。默认为falsemap-underscore-to-camel-case: true# 输出SQL执行语句 (log4j2本身可以输出sql语句)

二、Javabean配置

主要用到的是SqlSessionFactoryBean的setMapperLocations(),这个方法需要传入resource数组。

 public SqlSessionFactory sqlSessionFactory() {SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSourceOne());sqlSessionFactoryBean.setMapperLocations(resolveMapperLocations());return sqlSessionFactoryBean.getObject();}public Resource[] resolveMapperLocations() {ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();List<String> mapperLocations = new ArrayList<>();mapperLocations.add("classpath*:com/pab/cc/fas/mapper/*Mapper*.xml");mapperLocations.add("classpath*:com/pab/cc/ces/mapper/*Mapper*.xml");mapperLocations.add("classpath*:com/pab/cc/ams/mapper/*Mapper*.xml");List<Resource> resources = new ArrayList();if (mapperLocations != null) {for (String mapperLocation : mapperLocations) {try {Resource[] mappers = resourceResolver.getResources(mapperLocation);resources.addAll(Arrays.asList(mappers));} catch (IOException e) {// ignore}}}return resources.toArray(new Resource[resources.size()]);}

参考文献:https://blog.csdn.net/TreeShu321/article/details/104547973

基础:请参考:

SpringBoot+Mybatis(JavaConfig方式配置)

https://blog.csdn.net/qq_37598011/article/details/80669608

SpringBoot+Mybatis加载Mapper.xml文件的两种方式相关推荐

  1. springboot mybatis 热加载mapper.xml文件(最简单)

    大家好,我是烤鸭: 今天介绍一下springboot mybatis 热加载mapper.xml文件. 本来不打算写的,看到网上比较流行的方式都比较麻烦,想着简化一下. 网上流行的版本. https: ...

  2. Linux下编译、链接、加载运行C++ OpenCV的两种方式及常见问题的解决

    Linux下编译.链接.加载运行C++ OpenCV的两种方式及常见问题的解决 在Linux下安装完OpenCV C++之后(还没有安装的读者请参考Ubuntu 18.04 安装OpenCV C++) ...

  3. 映射Mapper.xml文件的几种方式

    第一种: mybatis-config.xml配置文件中的格式: <mappers><mapper resource="org/mybatis/builder/Author ...

  4. (转)mybatis热部署加载*Mapper.xml文件,手动刷新*Mapper.xml文件

    转自: https://blog.csdn.net/LOVELONG8808/article/details/78738086 由于项目已经发布到线上,要是修改一个Mapper.xml文件的话,需要重 ...

  5. 项目启动过后,停在了加载mapper xml文件过程中

    原因:查看Mapper接口中是否有断点 intellij idea 如何一键清除所有断点

  6. DB数据源之SpringBoot+MyBatis踏坑过程(三)手工+半自动注解配置数据源与加载Mapper.xml扫描...

    DB数据源之SpringBoot+MyBatis踏坑过程(三)手工+半自动注解配置数据源与加载Mapper.xml扫描 liuyuhang原创,未经允许禁止转载    系列目录连接 DB数据源之Spr ...

  7. Python加载csv文件的两种方式

    本文主要讲解下Python加载csv文件的两种方式,如果知道如何处理的就不必往下看了! 下面来简单介绍下. 实例中的数据集是kaggle的Digit Recognizer的train.csv文件,数据 ...

  8. C# 读取XML文件的几种方式

    在开发过程中,我们有时会需要保存到本地一些结构化数据或者配置信息,这时就可以选择用xml文件.当然xml的用途也不仅仅是这些. 这一篇来谈一谈关于读取xml文件的几种方式: 我们有以下两个文件,一个是 ...

  9. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

最新文章

  1. B站王道论坛计算机网络,成都理工大学计算机网络考研学长经验分享
  2. 随机森林算法4种实现方法对比测试:DolphinDB速度最快,XGBoost表现最差
  3. 读书笔记_大话数据结构第九章_排序
  4. /dev/mapper/VolGroup00-LogVol00 100% 如何处理
  5. 查看mysql SQL物理读_Oracle查看逻辑读、物理读资源占用排行的SQL语句
  6. TCP服务端实现并发
  7. Swagger介绍及使用
  8. 面试常备题---JVM加载class文件的原理机制
  9. 利用组策略管理器映射网络驱动器的方法
  10. 计算机学院运动会开幕式稿,运动会开幕式新闻稿 运动会开幕式广播稿原创2019...
  11. iptables实战系列:通过NAT转发实现私网对外发布信息
  12. python复制csv数据_如何使用Python将CSV数据复制到现有xlsx文件
  13. [CF1149C](Tree Generator)
  14. Spring Cloud Alibaba - 抽取功能的pojo类
  15. 中国县级和以下行政区编码,2013年,sql文件
  16. bt和wifi的共存
  17. argmin函数解析
  18. Python常用内置函数enumerate()详细用法介绍
  19. 常见登录密码加密方式
  20. PG-REINFORCE tensorflow 2.0

热门文章

  1. 找工作笔试面试那些事儿(10)---SQL语句总结
  2. Javascript 5 种原始数据类型
  3. 手机web开发的感想
  4. android软件开发考试,Android软件工程师笔试题(全选择题)【0-1年经验】
  5. java 中如何实现多进程_在Java中可以使用哪些方法来实现Java的多进程运行模式?...
  6. abap mm后台表_【中后台应用】从表单抽象到表单中台
  7. this.$modal.confirm 自定义按钮关闭_Excel迫使人类基因重命名?用VBA给科学家们支一招!—— 怎样快速定制工具栏按钮...
  8. php curl ssr,php curl模拟登陆
  9. 微型计算机原理sar,微机原理的题一.程序分析 1.MOV AX,80F0H MOV CL,10H SAR AX,CL ADD AX,80H...
  10. php codecept,Yii2 codecept unit 类找不到