前言
我们在很多一些项目中主要涉及到一些针对表的增删改查的项目,如何简化针对项目进行减少重复工作的开发很有必要。谷歌为我们提供了一套代码生成jar包。这里通过mysql来进行示范。
实践
先看一下整个项目的目录结构
1、引入需要进行代码生成的jar,这里由于我们通过mysql来进行示范,所以需要引入
mysql-connector-java 包,如果是其他数据库根据数据库种类来进行切换。
<properties>
<java.version>1.8</java.version>
<rapid-generator-version>4.0.6</rapid-generator-version>
<hutool.version>5.3.9</hutool.version>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.googlecode.rapid-framework/rapid-generator -->
<dependency>
<groupId>com.googlecode.rapid-framework</groupId>
<artifactId>rapid-generator</artifactId>
<version>${
rapid-generator-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.rapid-framework/rapid-generator-template -->
<dependency>
<groupId>com.googlecode.rapid-framework</groupId>
<artifactId>rapid-generator-template</artifactId>
<version>${
rapid-generator-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.rapid-framework/rapid-generator-ext -->
<dependency>
<groupId>com.googlecode.rapid-framework</groupId>
<artifactId>rapid-generator-ext</artifactId>
<version>${
rapid-generator-version}</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${
hutool.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
2、关于主要代码的编写
主要是获取xml文件中的配置信息,将xml中信息配置好的信息设置到模板中
public class GeneratorMain {
public static void main(String[] args) throws Exception {
//设置模板位置
GeneratorFacade gf = new GeneratorFacade();
gf.getGenerator().addTemplateRootDir(GeneratorProperties.getProperty("templateRootDir"));
gf.deleteOutRootDir();
//配置表则,输出配置的表。如果未配置则输出所有表
String tables = GeneratorProperties.getProperty("generatorTables");
if (StrUtil.isNotBlank(tables)) {
gf.generateByTable(tables.split(","));
}