若依微服务版怎样实现不同业务模块下实体和mapper互相调用

Posted wangmj518

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了若依微服务版怎样实现不同业务模块下实体和mapper互相调用相关的知识,希望对你有一定的参考价值。

场景

若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109524479

在上面已经实现对若依微服务版搭建业务子模块进行了记录。

 

 

 

比如这里在业务模块下新建了三个服务模块,各自在各自的模块下进行实体类和mapper的调用是没有问题的。

但是如果想跨模块进行通用实体和mapper的调用怎么办。

注: 

博客: 
https://blog.csdn.net/badao_liumang_qizhi 
关注公众号 
霸道的程序猿 
获取编程相关电子书、教程推送与免费下载。

实现

将每个业务生成代码的domain和mapper以及mapper的xml放在ruoyi-common-core中

若依已经自动实现了引入此公共核心模块。

所以在具体的业务模块下只放controller和service

 

 

 

然后将mapper以及实体domain放在common-core中

 

 

 

此时要将对应的mapper的路径以及配置扫描的路径进行对应的修改。

以上面的博客中搭建的业务模块为例。

domain的包路径修改为

package com.ruoyi.common.core.domain;

mapper接口的包路径修改为

package com.ruoyi.common.core.mapper;

mapper的xml的namespace修改为

<mapper namespace="com.ruoyi.common.core.mapper.BusSignallightControlMapper">

原来的controller和service的包还是原来的

package com.ruoyi.fzyscontrol.runcontrolmange.controller;

package com.ruoyi.fzyscontrol.runcontrolmange.service;

既然已经将mapper挪到了common-core中,那么Nacos中的配置包扫描的文件配置也要修改

 

 

 

 

 

 

这样将业务模块中配置的包扫描路径修改为common的路径了,但是在业务模块下的其他模块system等模块的mapper

的扫描路径还是在自己的模块下。

在业务模块下各个具体服务的启动类上有一个注解

 

 

此注解引入的是security么块下的注解的配置文件,此注解中配置的扫描mapper的位置是对应每个业务模块下的规范。

 

 

所以我们在自建新建的模块下再使用此注解就会扫描不到移动到common中的maper了。

所以在新建的业务模块下将security模块下的注解的配置文件复制到此模块下并修改

包扫描的路径为common-core的路径

 

 

这样在自己新建业务模块下的启动类引入自己模块下的配置包扫描的配置文件

 

 

 

 

以上是关于若依微服务版怎样实现不同业务模块下实体和mapper互相调用的主要内容,如果未能解决你的问题,请参考以下文章

若依微服务版的快速构建

RuoYi-Cloud 若依微服务版启动教程(保姆级)

记一次若依微服务版mybatis升级mybatis-plus之后遇到的坑

若依微服务(ruoyi-cloud)保姆版容器编排运行

程序汪若依微服务华为云Linux部署保姆教程

若依微服务版本 Windows下开发环境搭建