分布式电商项目六:使用人人开源的代码生成器反向开发代码
分布式电商项目六:使用人人开源的代码生成器反向开发代码
克隆人人开源的代码生成器项目
同之前克隆的fast项目,不再演示。删除掉.gti版本控制文件夹,放入到mall-1995项目中。
之后编辑pom文件,添加模块:
<module>renren-generator</module>
之后更新maven依赖,修改模块的配置文件。每一次添加开源项目,都要优先修改配置文件:
配置文件有两个,先修改application.yml,主要修改mysql配置:
# mysql
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: renren
password: 123456
之后修改generator.properties,修改
#代码生成器,配置信息
mainPath=com.lastingwar
#包名
package=com.lastingwar.mall
moduleName=product
#作者
author=yhm
#Email
email=aaa@qq.com
#表前缀(类名不会包含表前缀)
tablePrefix=pms_
之后在src\main\resources\template 目录下修改模板,
Controller.java.vm文件下的RequiresPermissions都不需要,全部注解掉,包括import中的。
也可以修改别的模板
随后运行generator :
可以看到已经在端口80运行。
进入之后,页面如下
可以看到显示了数据库中pms对应的所有的表,全选之后,生产代码。随后会下载一个压缩包,解压缩之后,把里面的main文件夹放到对应的微服务文件目录下,将两个main文件夹覆盖。
在IDEA中打开对应的代码,会发现报错的情况,这主要是因为缺少基本的依赖:
其中缺少的commom包依赖,在renren-fast中有提供,我们可以创建一个自己的common模块来保存这些基本的依赖。
在common模块的pom文件中可以添加注解:
<description>每一个微服务依赖的公共组件,bean和工具类</description>
随后在对应的微服务中添加对common的依赖,编辑对应的pom文件添加:
之后的微服务每一个都需要
<dependency>
<groupId>com.lastingwar.mall-1995</groupId>
<artifactId>mall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
制作common公共依赖模块
首先添加Mybatis-plus和lombok依赖:
<!-- Mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
然后拷贝renren-fast中的基础类依赖:
在common模块中,新建包com.lastingwar.common,将renren-fast中的common.utils和xss的文件拷贝过来:
随后会发现这些复制的文件中,有很多依赖没有导入,我们到maven官网进行查询导入:
依次添加:
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.13</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
随后重新加载,common中的文件就没有报错了。
**Query文件报错是因为同样的类,之前导入的是import io.renren.common.xss.SQLFilter;修改为自己添加的类import com.lastingwar.common.xss.SQLFilter;**SQLFilter同理
这样我们所有的类就都不报错的,之后我们也使用相同的方法进行数据库相关文件的代码生产。
上一篇: MySQL调优之查询优化
下一篇: python机器学习之神经网络(三)