缘起
项目中有CRUD的单表操作,有时候还很多,趁着项目不忙的时候,用最笨的一行行写入文件的方式,撸了个代码生成器的公司项目中尽量使用JPA的操作,遇到JPA需要扩展的操作呢,能不写SQL尽量不写SQL,优先选择使用扩展JpaSpecificationExecutor来进行的数据库操作,此脚本符合我们团队的需求,不一定符合大家需求。
成果
在指定包路径下,自动生成 entity、controller、repository、service包,包内生成代码类。
代码
- 数据库元数据描述类
package com.sogdata.ideology.generate;
import lombok.Builder;
import lombok.Data;
/**
* summary: 数据库元数据描述
*
* @author : Ray
*/
@Data
@Builder
public class ColumnInfo {
private String name;
private String type;
private String comment;
private Boolean isNullable;
private Integer size;
}
- 记录路径的类
package com.sogdata.ideology.generate;
import lombok.Builder;
import lombok.Data;
/**
* summary:记录自动生成的代码的文件路径和包路径
*
* @author : Ray
*/
@Data
@Builder
public class JavaFilePath {
/**
* 文件路径 绝对路径
*/
private String filePath;
/**
* 类路径
*/
private String classPath;
}
- 代码生成类
详见 代码生成工具包