若依微服务版怎样实现不同业务模块下实体和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互相调用的主要内容,如果未能解决你的问题,请参考以下文章