谷粒商城学习笔记-17-快速开发-逆向工程搭建&使用
文章目录
- 一,克隆人人开源的逆向工程代码
- 二,把逆向工程集成到谷粒商城的后台工程
- 三,以商品服务为例,使用逆向工程生成代码
- 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
二,把逆向工程集成到谷粒商城的后台工程
逆向工程的后台代码集成到商城工程中,作为一个模块。
第一步,将前面克隆下来的代码复制到工厂的根目录下,作为后台管理系统模块。
第二步,修改renren-generator的工程pom.xml文件配置。
如下图,删除关于parent的配置。
第三步,集成新模块到工程下。
如图,在工程的根目录下的pom.xml文件增加如下配置。
第四步,修改renren-generator的工程的数据库连接信息。
如下所示,修改内容包括:
- 数据库IP
- 用户名
- 数据库密码
三,以商品服务为例,使用逆向工程生成代码
接下来使用逆向工程为商品服务gulimall-product生成相关的代码,其他的服务生成代码的步骤相似。
1,修改逆向工程的配置
在Idea中打开如下文件,修改如下配置。
修改说明:
- ① 主要包名,和课程保持一致,修改为com.atguigu,后续不再变化
- ② 包名,和课程保持一致,修改为com.atguigu.gulimall,后续不再变化
- ③ 模块名,首先为商品模块生成代码,商品模块的名称是product,这里改为product,这里要根据情况修改
- ④ 作者名,根据实际情况修改为自己名字,后续不再变化
- ⑤ 作者邮箱,根据实际情况修改为自己邮箱,后续不再变化
- ⑥ 表前缀,这个配置非常重要,数据库表名都是有前缀的,比如商品模块的表的前缀是pms_,这个配置的作用时在生成表对应的实体类时,类的名称去掉前缀。如下图,根据这个配置,表pms_attr生成的类名是Attr,如果没有这个配置,类名是PmsAttr
2,以Debug模式启动逆向工程
如下,启动逆向工程。
启动成功后,输入localhost:2345,即可访问逆向工程的前端页面,注意我把逆向工程的端口改成了2345,所以要带上端口,端口配置在如下图位置。
逆向工程前端页面如下。
3,使用逆向工程生成代码
如上图操作,生成代码。
- ① 修改分页配置,把所有的表名展示在一页中。
- ② 全选,对所有的表生成对应的实体类。
- ③ 点击按钮,生成代码。
点击生成代码按钮后,生成的代码会被打包,然后自动下载。
压缩包的内容如下,我们需要的代码在main文件夹中。
4,整合生成的代码到gulimall-product模块中
按下图方式,右键gulimall-product的main文件夹,选择Open In -> Explorer,打开gulimall-product模块代码所在文件夹。
然后把解压的main文件夹中的内容,拷贝到打开的main文件夹中。
拷贝完成后,idea中可以看到如下结构的代码。
四,创建公共模块gulimall-common
按照上述步骤生成代码后,会有很多错误提示,都是缺少各种包依赖导致的。
考虑到很多包依赖是公共的,比如JavaBean、工具类等等,在父工程下创建一个公共模块,这个模块的代码是被所有其他模块所复用的。
1,把common模块整合到工程下
在工程根目录下的pom.xml文件中,注册common模块。
2,product模块引用common模块
在product模块的pom.xml文件中声明对common模块的依赖。
com.atguigu.gulimall gulimall-common 0.0.1-SNAPSHOT
3,在common模块中创建utils包
将renren-fast工程中的4个工具类拷贝到commmon模块的utils包下。
除此之外,还要把renren-fast下的validator和xss包拷贝到common模块下,拷贝完成后如下。
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注解,这个注解的作用是权限校验,因为这个项目用其他的权限验证框架,所以可以删除这个注解。
因为有很多方法上有这个注解,采用正则匹配的方式全局替换,一次性搞定。
按住Crtl+shift+R,在弹窗中输入正则表达式:
@RequiresPermissions\(".*"\)\n
注意: