也就是说和若依类似,都是快速帮我们开发一些简单的逻辑代码的,可以帮我们自动生成代码。
我们现在就以renren-fast作为后台管理系统框架,用renren-fast-vue作为前端系统框架进行开发项目
具体操作如下所示:
补充改错: !!!!!
我们最好把前端的这个管理系统克隆到D盘当中去,因为我们默认克隆到桌面的话会给我们克隆到C盘上,C盘有可能会有中文的目录,因此后面启动vscode输入命令的时候有可能因为中文目录会报错,因此我们克隆到D盘去(非中文目录下,如果克隆到桌面上的话是非中文目录那么就不用克隆到D盘了直接克隆到桌面就行):
然后我们打开刚才克隆下来的后台快速开发管理系统的文件 :renren-fast
删除掉之后,我们直接把renren-fast文件放入到我们gulimall工程文件中即可:
然后我们打开renren-fast模块,会发现有一些数据库:
那么我们就需要打开可视化工具,复制上面的这些SQL语句,把renren-fast模块快速开发后台管理系统的数据库创建出来:
然后我们就可以打开renren-fast模块的dev配置文件进行修改一下配置了:
然后我们就可以进行测试了:测试该快速开发后台管理系统是否搭建成功:
启动成功的话,就说明后台快速开发管理系统搭建成功了:
注意1:有可能会出现下面的SQL连接错误问题:
解决思路:1、先看一下刚才在dev配置文件中配置连接的时候是否写错字母了。
2、如果都没错的情况下在url后面添加上&useSSL=false
注意2:
解决:导入jdk版本
注意:克隆下来的这个前端的系统,也要打开先把.git文件删除掉,然后再拖入到vscode中
改正:不再是桌面上的前端管理系统,而是克隆到D盘的前端管理系统(注意把.git目录删除掉后再拉取到vscode中)
拖进来之后,我们就需要先安装前端的运行环境:node.js
高版本安装node地址:直接官方搜索node即可
低版本安装node地址:
https://nodejs.org/zh-cn/download/releases/https://nodejs.org/zh-cn/download/releases/我们这里就以10.16.3 LTS版本演示:
1、打开cmd命令窗口,使用 node -v 命令查看一下node.js版本
2、配置npm使用淘宝镜像
命令:npm config set registry http://registry.npm.taobao.org/
环境配置好之后,我们就可以回到vscode编辑器上进行测试了:
使用命令: npm run dev 即可运行克隆下来的快速开发前端的项目
运行成功后,我们前端和后端就可以联合调试了
点击登录后,会发现确实进入到我们搭建的这个快速开发的前端界面内了
补充:
前面的三步做完之后,包括搭建的前后台管理系统能够联调同之后,我们就可以为我们的gulimall工程下的五个微服务生成基本的增删改查方法了
注:这里先生成的gulimall_pms数据库对应的product项目的基本crud代码,如果连续生成五个服务的话,这个地方把数据库名依次换一下然后走一遍这个步骤克隆生成出代码即可
注:如果xxxx.properties配置文件中的中文乱码的话,那么可以 settings --> File Encodings --> 把Global Encoding 选择成 UTF-8 然后把下面的 Transparent bative-to-ascii conversion 勾选上即可解决
补充:重点注意!!
现在有这样一个问题,就是说我们这个表现层或者数据层或者业务层中,都有可能会没有实体类的原因而爆红,或者说没有导依赖所爆红,我们总不能一个一个的打开服务进行修改配置吧,因此我们就创建一个模块用来专门做这五个微服务需要的公共实体类和依赖的问题,
比如:我们直接在这个gulimall-common模块中写入一个R实体类,那么五个微服务通过导入
gulimall-common模块的依赖后那么这五个微服务就可以都获得到R实体类了(也就是说不用我们一个一个进入微服务当中为其创建实体类或者依赖了)
创建gulimall-common模块步骤:
微服务中依赖完gulimall-common模块的依赖后,我们就可以在gulimall-common模块当中配置一些这五个微服务共同使用的一些实体类和pom依赖了:
1、首先先处理各微服务数据层爆红问题:
导入完之后,我们就会发现这五个微服务的数据层确实引入到了common模块中的mybatis-plus的依赖,不爆红了,因此各个微服务的数据层已经解决:
2、然后处理各微服务实体类爆红问题:
3、再处理业务层所用到的公共类
4、然后我们再处理表现层爆红问题
5、解决Query公共类中爆红问题
5.1、先解决 StringUtils 爆红问题
5.2、解决 SQLFilter 爆红问题
6、各微服务表现层注解爆红问题
但是现在有一个问题,我们各微服务的表现层各方法中都有这个注解,难不成我们都一个一个的手动删除? 那要删除到什么时候呢,我们可以用下面的一种方式:
也就是调整一下逆向工程,让生成基本代码的时候不生成那个注解:
然后我们重启这个逆向工程,然后重新生成基本代码(又回到了上面的步骤):
通过上面的所有操作后,那么最终我们的product微服务模块就通过逆向工程自动生成了一些基本的crud代码了~
首先上面我们知道了,我们为各微服务(我们先演示了product微服务)都自动生成了基本的crud代码了(数据层、业务层、表现层等),我们可以看出各微服务生成的crud代码都是基于mybatis-plus的,因此我们需要配置mybatis-plus,让各微服务和对应的数据库连接起来。(因为现在只是把各微服务的基本crud代码生成好了,但是各微服务还没有和自己对应的数据库连接起来呢)
第一步:在项目中导入mybatis-plus依赖
第二步:配置数据源
配置数据源分为以下步骤:
1、导入mysql连接驱动(也就是导入mysql依赖)
2、在各微服务模块的application.yml配置文件中配置数据源
配置完数据源之后,那么我们这几个微服务项目就成功的和自己对应的数据库建立起了联系
同理我们也是直接把配置放入到common模块当中,这样就不用手动一个一个的为这几个微服务配置了,因为这几个微服务依赖了common模块,因此也同样可以依赖到我们放入到common模块中的配置(如果没有这个公共的专门放公共配置的common模块的话,那么就手动为每个微服务:比如product服务、member服务、order服务.....添加配置即可)
第三步:配置mybatis-plus
因为我们知道我们这些微服务项目都是基于mybatis-plus的,因此我们还要为这些微服务配置一下mybatis-plus
1、导入mysql连接驱动(建议用8.x版本,兼容于任何版本)
2、在各微服务模块的application.yml配置文件中配置数据源
这里需要补充一点:
配置文件中的url的话,尽量按下面的形式写,写全,按下面的形式写的话可以解决存放到数据库中的数据中文乱码等一些问题:
url: jdbc:mysql://192.168.91.144:3306/gulimall_pms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false
3、配置mybatis-plus
3.1、配置MapperScan注解:
3.2、告诉mybatis-plus,sql文件的所在位置:
也就是说基于上面的配置之后,我们的各个微服务项目就成功的和mysql建立了联系了,并且项目中的逻辑也是基于mybatis-plus完成的,那么我们就可以测试一下各个微服务的增删改查的功能了,看看到底是不是成功的和数据库建立起了联系了(测试看看保持功能到底能不能成功的把数据放入到项目对应的数据库当中去)。
我们这里就拿gulimall-product服务项目进行测试:
测试时有可能会遇到下面的报错问题:
我们上面已经学会如何对一个微服务快速生成基本的crud代码了,并且也知道如何配置一个微服务项目基于mybatis-plus和mysql数据库建立联系了,并且最后也能测试成功,我们知道我们上面都是以gulimall-product微服务作为演示的,我们现在就要为我们谷粒这个整体项目的微服务都快速生成crud代码和配置连接数据库 (配置的过程和玩product服务的时候是一模一样的),。
这里不再演示生成基本crud代码的过程和mysql配置连接过程,看着上面的product服务的步骤做就行(从第四标题开始往下跟着步骤搭建即可)。
注意:要保证谷粒整体中的这几个微服务的端口号不能冲突(我们可以设置为8000、9000、10000.... 加以区分)