谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

07-08 1328阅读

文章目录

  • 一,克隆人人开源的逆向工程代码
  • 二,把逆向工程集成到谷粒商城的后台工程
  • 三,以商品服务为例,使用逆向工程生成代码
  • 1,修改逆向工程的配置
    • 2,以Debug模式启动逆向工程
    • 3,使用逆向工程生成代码
    • 4,整合生成的代码到gulimall-product模块中
    • 四,创建公共模块gulimall-common
      • 1,把common模块整合到工程下
      • 2,product模块引用common模块
      • 3,在common模块中创建utils包
      • 4,common模块声明如下依赖
      • 5,解决错误,删除Controller中的注解RequestPermissions
      • 6,修改逆向工程模块,避免新生成的Controller有RequestPermissions注解
      • 逆向工程错误记录

        这一节的主要内容是使用逆向工程,根据数据库表生成Mybatis相关的xml文件、Mapper类、表对应的实体类。

        一,克隆人人开源的逆向工程代码

        人人开源的逆向工程代码地址是https://gitee.com/renrenio/renren-generator。

        使用如下命令,把工程代码克隆到本地。

        git@gitee.com:renrenio/renren-generator.git
        

        二,把逆向工程集成到谷粒商城的后台工程

        逆向工程的后台代码集成到商城工程中,作为一个模块。

        第一步,将前面克隆下来的代码复制到工厂的根目录下,作为后台管理系统模块。

        谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

        第二步,修改renren-generator的工程pom.xml文件配置。

        如下图,删除关于parent的配置。

        谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

        第三步,集成新模块到工程下。

        如图,在工程的根目录下的pom.xml文件增加如下配置。

        谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

        第四步,修改renren-generator的工程的数据库连接信息。

        如下所示,修改内容包括:

        • 数据库IP
        • 用户名
        • 数据库密码

          谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

          三,以商品服务为例,使用逆向工程生成代码

          接下来使用逆向工程为商品服务gulimall-product生成相关的代码,其他的服务生成代码的步骤相似。

          1,修改逆向工程的配置

          在Idea中打开如下文件,修改如下配置。

          谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

          修改说明:

          • ① 主要包名,和课程保持一致,修改为com.atguigu,后续不再变化
          • ② 包名,和课程保持一致,修改为com.atguigu.gulimall,后续不再变化
          • ③ 模块名,首先为商品模块生成代码,商品模块的名称是product,这里改为product,这里要根据情况修改
          • ④ 作者名,根据实际情况修改为自己名字,后续不再变化
          • ⑤ 作者邮箱,根据实际情况修改为自己邮箱,后续不再变化
          • ⑥ 表前缀,这个配置非常重要,数据库表名都是有前缀的,比如商品模块的表的前缀是pms_,这个配置的作用时在生成表对应的实体类时,类的名称去掉前缀。如下图,根据这个配置,表pms_attr生成的类名是Attr,如果没有这个配置,类名是PmsAttr

            谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

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

            如下,启动逆向工程。

            谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

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

            谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

            逆向工程前端页面如下。

            谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

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

            谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

            如上图操作,生成代码。

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

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

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

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

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              4,整合生成的代码到gulimall-product模块中

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

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

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

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

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              四,创建公共模块gulimall-common

              按照上述步骤生成代码后,会有很多错误提示,都是缺少各种包依赖导致的。

              考虑到很多包依赖是公共的,比如JavaBean、工具类等等,在父工程下创建一个公共模块,这个模块的代码是被所有其他模块所复用的。

              1,把common模块整合到工程下

              在工程根目录下的pom.xml文件中,注册common模块。

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              2,product模块引用common模块

              在product模块的pom.xml文件中声明对common模块的依赖。

                      
                          com.atguigu.gulimall
                          gulimall-common
                          0.0.1-SNAPSHOT
                      
              

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              3,在common模块中创建utils包

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              将renren-fast工程中的4个工具类拷贝到commmon模块的utils包下。

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              除此之外,还要把renren-fast下的validator和xss包拷贝到common模块下,拷贝完成后如下。

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              4,common模块声明如下依赖

                     
                          com.baomidou
                          mybatis-plus-boot-starter
                          3.2.0
                      
                      
              		
                          mysql
                          mysql-connector-java
                          runtime
                          5.1.38
                      
                      
                          org.projectlombok
                          lombok
                          1.18.8
                      
                      
                          org.apache.httpcomponents
                          httpcore
                          4.4.12
                      
                      
                          commons-lang
                          commons-lang
                          2.6
                      
                      
                      
                          io.renren
                          renren-fast
                          3.0.0
                          compile
                      
              		
                          javax.servlet
                          servlet-api
                          2.5
                          provided
                      
              

              5,解决错误,删除Controller中的注解RequestPermissions

              逆向工程生成的代码中,Controller中很多方法有RequestPermissions注解,这个注解的作用是权限校验,因为这个项目用其他的权限验证框架,所以可以删除这个注解。

              谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

              因为有很多方法上有这个注解,采用正则匹配的方式全局替换,一次性搞定。

              按住Crtl+shift+R,在弹窗中输入正则表达式:

                  @RequiresPermissions\(".*"\)\n
              

              注意:

              • ① 该正则表达式前有4个空格。
              • ② 匹配方式选择正则表达式,如下图右边箭头。

                谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

                以同样的方式删除文件顶部的包导入。

                谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

                6,修改逆向工程模块,避免新生成的Controller有RequestPermissions注解

                因为后续还会多次使用逆向工程生成代码,为了避免上面出现的问题,可以修改逆向工程的模板,让新生成的代码不包含RequestPermissions注解相关内容。

                谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用

                经过上面的步骤,生成的代码就能在product模块中使用了。

                逆向工程错误记录

                逆向工程错误记录

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]