mybatis.mapper-locations 包含jar包文件配置多个mapper路径

本文解决了一个在微服务环境下,不同项目间Mapper XML文件路径冲突的问题。通过在application.properties中正确配置mybatis.mapper-locations参数,实现跨模块资源加载。关键在于理解和运用classpath与classpath*的区别。

在一次的公司项目微服务化的时候,遇到一个问题:项目A中带有mapper.xml文件,项目B中也有其他的mapper.xml。这个时候项目A在某些场景的情况下需要把B打成JAR包引入到A,那么这个时候两个项目的包路径不一致,,mapper.xml的路径也不一样,这个时候就需要引入多个路径。

项目A:mapper.xml 路径在 resources/mybatis/mapper/push 下面

mybatis-plus:
  mapper-locations: classpath:mybatis/*.xml

项目B,mapper.xml 路径再 resources/mappers/下面

mybatis-plus:
  mapper-locations: classpath*:/mapper/*.xml

步骤:

1、项目A引用了项目B,把项目B的jar包加入到pom文件中了

2、那么项目A的application.properties配置文件中配置mapper.xml路径如下:

mybatis.mapper-locations=classpath:mybatis/mapper/*.xml,classpath*:/mappers/*.xml
注意点:在classpath后面的 * 必不可少,缺少型号的话后面的通配符不起作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值