SpringBoot中mapper-locations配置多个mapper包路径

Posted 小花皮猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot中mapper-locations配置多个mapper包路径相关的知识,希望对你有一定的参考价值。

1 问题描述

大家都知道mapper-locations是配置mapper路径的,但是有时候mapper路径可能不止一个

比如说有两个包A和B,A和B里面的业务模块不同就需要写各自的mapper,这时候如果只配置A的mapper路径,那么B的mapper路径肯定扫码不到然后引起报错

比如我这个项目,front和modules本应该是平价的,它们各自有它们的mapper文件执行不同的业务

今天我就遇到了这个问题,下面说下我的思路,不一定对,但是值得参考

2 解决思路

首先我一直在application.yaml文件的mapper-locations进行配置,希望可以通过它实现多个mapper配置


我试了很多种方式,包括:

classpath*:org/jeecg/**/*Mapper.xml

classpath:org/jeecg/**/*Mapper.xml

classpath:org/jeecg///*Mapper.xml

classpath*:org/jeecg/modules//xml/*Mapper.xml,org/jeecg/front//xml/*Mapper.xml

都是会报错:


我也试着加过@Repository和@Mapper,也无济于事。

后来我就想,我可以从启动类入手,然后我就在启动类加上@MapperScan(value = “org.jeecg.**.mapper”)这个注解,并配置扫码mapper路径

这下果然是可以了

3 总结

以上就是我的解决思路,希望可以帮助到大家。

以上是关于SpringBoot中mapper-locations配置多个mapper包路径的主要内容,如果未能解决你的问题,请参考以下文章

springboot中怎么自定义thymeleaf标签

SpringBoot——SpringBoot中使用拦截器

springboot的es中sort怎么用

springboot中如何在切面中重写请求参数

springboot中SPI机制

Spring Boot 持续更新中...