谷粒商城学习笔记-19-快速开发-逆向生成所有微服务基本CRUD代码

文章目录

  • 一,使用逆向工程步骤梳理
    • 1,修改逆向工程的application.yml配置
    • 2,修改逆向工程的generator.properties配置
    • 3,以Debug模式启动逆向工程
    • 4,使用逆向工程生成代码
    • 5,整合生成的代码到对应的模块中
  • 二, 配置各模块
    • 1,修改或者新增各模块的配置文件application.yml
    • 2,启动类配置Mapper类信息
    • 3,为各模块分配端口
    • 4,各模块增加对common模块的依赖
  • 三,测试

本节的主要内容是为使用逆向工程为其他模块生成代码,还未生成代码的模块有4个:

  • gulimall-order,订单模块
  • gulimall-coupon,优惠券模块
  • gulimall-ware,仓储模块
  • gulimall-member,会员模块

一,使用逆向工程步骤梳理

接下来使用逆向工程为商品服务gulimall-product生成相关的代码,其他的服务生成代码的步骤相似。按照下面步骤分别为其他4个模块生成代码,并整合到各自模块。

1,修改逆向工程的application.yml配置

在Idea中打开如下application.yml文件,修改数据库名。

  • gulimall-order,订单模块对应的数据库名为gulimall_oms
  • gulimall-coupon,优惠券模块的数据库名为gulimall_sms
  • gulimall-ware,仓储模块的数据库名为gulimall_wms
  • gulimall-member,会员模块的数据库名为gulimall_ums

在这里插入图片描述

2,修改逆向工程的generator.properties配置

在这里插入图片描述

修改说明:

  • ① 模块名,各模块的模块名如下。

gulimall-order,订单模块对应的模块名为order
gulimall-coupon,优惠券模块的模块名为coupon
gulimall-ware,仓储模块的模块名为ware
gulimall-member,会员模块的模块名为member

  • ② 表前缀,这个配置非常重要,数据库表名都是有前缀的,比如商品模块的表的前缀是pms_,这个配置的作用时在生成表对应的实体类时,类的名称去掉前缀。如下图,根据这个配置,表pms_attr生成的类名是Attr,如果没有这个配置,类名是PmsAttr

gulimall-order,订单模块对应的数据库名为oms_
gulimall-coupon,优惠券模块的数据库名为sms_
gulimall-ware,仓储模块的数据库名为wms_
gulimall-member,会员模块的数据库名为ums_

3,以Debug模式启动逆向工程

每次修改配置后,如下,启动逆向工程。
在这里插入图片描述

启动成功后,输入localhost:2345,即可访问逆向工程的前端页面,注意我把逆向工程的端口改成了2345,所以要带上端口,端口配置在如下图位置。
在这里插入图片描述

逆向工程前端页面如下。

在这里插入图片描述

4,使用逆向工程生成代码

在这里插入图片描述
如上图操作,生成代码。

  • ① 修改分页配置,把所有的表名展示在一页中。
  • ② 全选,对所有的表生成对应的实体类。
  • ③ 点击按钮,生成代码。

点击生成代码按钮后,生成的代码会被打包,然后自动下载。

在这里插入图片描述

压缩包的内容如下,我们需要的代码在main文件夹中。

在这里插入图片描述

5,整合生成的代码到对应的模块中

按下图方式,右键gulimall-productmain文件夹,选择Open In -> Explorer,打开gulimall-product模块代码所在文件夹。

在这里插入图片描述

然后把解压的main文件夹中的内容,拷贝到打开的main文件夹中。

拷贝完成后,idea中可以看到如下结构的代码。

在这里插入图片描述

二, 配置各模块

1,修改或者新增各模块的配置文件application.yml

在这里插入图片描述

  • 配置端口信息
  • 配置数据库连接信息
  • 配置mybatis信息

2,启动类配置Mapper类信息

在各模块的启动类上使用注解MapperScan声明Mapper接口文件所在包。

@MapperScan(basePackages = "com.atguigu.gulimall.product.dao")

3,为各模块分配端口

在开发工程中,可能同时启动多个服务,为了避免端口冲突,为每个模块分配一个端口。

gulimall-product,商品模块的端口为 10000
gulimall-order,订单模块对应的的端口为 9000
gulimall-coupon,优惠券模块的端口为 7000
gulimall-ware,仓储模块的端口为 11000
gulimall-member,会员模块的端口为 8000

4,各模块增加对common模块的依赖

在各模块的pom.xml中增加如下依赖。

		<dependency><groupId>com.atguigu.gulimall</groupId><artifactId>gulimall-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

三,测试

启动各工程后,可以在浏览器上访问对应接口,如果能正常响应,说明生成的代码和配置没有问题。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/375575.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FastAPI 学习之路(三十五)项目结构优化

之前我们创建的文件都是在一个目录中&#xff0c;但是在我们的实际开发中&#xff0c;肯定不能这样设计&#xff0c;那么我们去创建一个目录&#xff0c;叫models&#xff0c;大致如下。 主要目录是&#xff1a; __init__.py 是一个空文件&#xff0c;说明models是一个package…

2.GAP:通用访问协议

GAP的简单理解 GAP这个名字&#xff0c;直接翻译过来不好理解。 简单点可以理解为&#xff1a; 这是蓝牙设备在互联之前&#xff0c;过程中&#xff0c;第一个用于交流的协议。在代码上&#xff0c;会给这个协议实现&#xff0c;连接参数的设置&#xff0c;连接事件的实现&am…

maven高级1——一个项目拆成多个

把原来一个项目&#xff0c;拆成多个项目。 &#xff01;&#xff01;他们之间&#xff0c;靠接口通信。 以ssm整合好的项目为例&#xff1a; 如何看拆的ok不ok 只要compile通过就ok。 拆分pojo 先新建一个项目模块&#xff0c;再把内容复制进去。 拆分dao 1.和上面一样…

Unity之Text组件换行\n没有实现+动态中英互换

前因&#xff1a;文本中的换行 \n没有换行而是打印出来了&#xff0c;解决方式 因为unity会默认把\n替换成\\n 面板中使用富文本这个选项啊 没有用 m_text.text m_text.text.Replace("\\n", "\n"); ###动态中英文互译 using System.Collections; using…

牛客小白月赛98

骰子魔术 jackle 会拿出一枚骰子&#xff0c;骰子的表面分别写上了从 1∽5001\backsim 5001∽500 的数字&#xff0c;朋友会随便说一个 1∽5001\backsim 5001∽500 之间的点数&#xff0c;jackle 都能保证百分之百的掷出这个点数。 当然 jackle 有备而来&#xff0c;他准备了 …

代码随想录算法训练营Day62|冗余连接、冗余连接II

冗余连接 108. 冗余连接 (kamacoder.com) 考虑使用并查集&#xff0c;逐次将s、t加入并查集中&#xff0c;当发现并查集中find(u)和find(v)相同时&#xff0c;输出u和v&#xff0c;表示删除的边即可。 #include <iostream> #include <vector> using namespace s…

pytest使用报错(以及解决pytest所谓的“抑制print输出”)

1. 测试类的类名问题 #codingutf-8import pytestclass TestClass1:def setup(self) -> None:print(setup)def test_01(self) -> None:print(test_01111111111111111111111)def test_02(self) -> None:print(test_02)以上述代码为例&#xff0c;如果类名是Test开头&am…

maven7——(重要,构建项目)maven项目构建(命令)

Maven的常用命令管理项目的生命周期 clean命令 清除编译产生的target文件夹内容&#xff0c;可以配合相应命令在cmd中使用&#xff0c;如mvn clean package&#xff0c; mvn clean test D:\工作\公司培训-4班\day20\day20\untitled1>mvn clean compile命令 该命令可以…

苹果入局,AI手机或将实现“真智能”?

【潮汐商业评论/原创】 “AI应用智能手机不就是现在的AI手机。” 当被问到现阶段对AI手机的看法时&#xff0c;John如是说。“术业有专攻&#xff0c;那么多APP在做AI功能&#xff0c;下载用就是了&#xff0c;也用不着现在换个AI手机啊。” 对于AI手机&#xff0c;或许大多…

【搭建Nacos服务】centos7 docker从0搭建Nacos服务

前言 本次搭建基于阿里云服务器系统为&#xff08;CentOS7 Linux&#xff09;、Nacos&#xff08;2.0.3&#xff09;、Docker version 26.1.4 本次搭建基于一个新的云服务器 安装java yum install -y java-1.8.0-openjdk.x86_64安装驱动以及gcc等前置需要的命令 yum install …

设置DepthBufferBits和设置DepthStencilFormat的区别

1&#xff09;设置DepthBufferBits和设置DepthStencilFormat的区别 2&#xff09;Unity打包exe后&#xff0c;游戏内拉不起Steam的内购 3&#xff09;Unity 2022以上Profiler.FlushMemoryCounters耗时要怎么关掉 4&#xff09;用GoodSky资产包如何实现昼夜播发不同音乐功能 这是…

XCP协议介绍(二)

五、XCP命令简介 5.1 数据包简介 XCP的数据包分为两类&#xff1a;CTO(Command Transfer Object)与DTO(Data Transfer Object) CMD&#xff1a;指的是上位机下发给下位机的一些命令&#xff0c;比如连接命令FF&#xff0c;解锁&#xff0c;获取状态等一些和下位机交互的命令&…

MySQL 9.0 新功能概览

官方文档 https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html 时隔 6 年多&#xff0c;上周 Oracle 发布了 MySQL 最新的大版本 9.0。我们一起来看看新版本有哪些东西。 用 JavaScript 写存储过程 半年前已经单独介绍过 「虽迟但到&#xff01;MySQL 可以用 Java…

阿里云人工智能平台PAI论文入选OSDI ‘24

近日&#xff0c;阿里云人工智能平台PAI的论文《Llumnix: Dynamic Scheduling for Large Language Model Serving》被OSDI 24录用。论文通过对大语言模型&#xff08;LLM&#xff09;推理请求的动态调度&#xff0c;大幅提升了推理服务质量和性价比。 Llumnix是业界首个能灵活在…

顺序表算法题 -- 力扣

一、移除元素 移除元素 这个题让我们移除数组nums中值为val的元素&#xff0c;最后返回k&#xff08;不是val的元素个数&#xff09; 这样显然我们就不能再创建一个数组来解决这个问题了&#xff0c;只能另辟蹊径 思路&#xff1a;双指针 这里定义两个指针&#xff08;l1&…

Centos7安装Glibc 2.32版本(超详细)

✨1.问题&#xff1a; 某些工具在Centos7上低版本的GCC和Glibc运行都会报错&#xff0c;只有升级GCC和Glibc才行 手动编译和安装 如果软件包管理器不提供您需要的版本&#xff0c;另一个选择是手动编译和安装。 &#x1f31f;问题1&#xff1a;执行最后面的glibc的make报如下…

Windows下编译OpenSSL静态库

目录 1. 版本与下载地址 2. 下载与安装VS2015 3. 下载与安装Perl 4. 测试ActivePerl是否安装正确 5. 下载OpenSSL 6. 编译32位OpenSSL静态库 6.1 解压openssl-1.0.2l.tar.gz 6.2 打开VS2015 x86本机工具命令提示符 6.3 输入命令进入到openssl的目录中 6.4 执行配置命…

45、tomcat+课后实验

tomcat 1、tomcat tomcat和php一样&#xff0c;都是用来处理动态页面的。 tomcat也可以作为web应用服务器&#xff0c;开源的。 php .php tomcat .jsp nginx .html tomcat 是用Java代码写的程序&#xff0c;运行的是Java的web应用程序。 tomcat的特点和功能&#xff1a…

运维系列.Nginx中使用HTTP压缩功能

运维专题 Nginx中使用HTTP压缩功能 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…

鸿蒙系统:未来智能生态的引领者

在当今这个日新月异的互联网领域&#xff0c;操作系统作为连接硬件与软件的桥梁&#xff0c;其重要性不言而喻。随着华为鸿蒙系统&#xff08;HarmonyOS&#xff09;的崛起&#xff0c;一场关于操作系统未来的讨论再次被推向高潮。 鸿蒙OS&#xff0c;华为的全新力作&#xff…