java代码自动生成插件 for IDEA

看了网上很多自动生成代码的插件或者工具,要么需要定义模板,要么需要下载大的项目,感觉都太复杂不好使用,所以决定自己开发一个。

自动生成Java后台代码:包括 : Vo,Controller,Service,Dao,DDL and Mybatis配置 file。
生成Java代码是基于spring+struts框架的。

原理: 通过定义一个java元数据(这个元数据定义有个标志,很简单,下面说明),然后用这个元数据自动生成代码。

下面是一键自动生成过程:

crud java 代码自动生成 java代码自动生成工具_intellij idea

项目源码:github地址:

for IDEA:
https://github.com/hilinw/IdeaAutoGenerateCodePlugin.git for Eclipse:
https://github.com/hilinw/EclipseAutoGenerateCodePlugin.git

编译好的idea插件(for IDEA2019.1):
https://github.com/hilinw/IdeaAutoGenerateCodePlugin/blob/master/IdeaAutoGenerateCodePlugin.jar 下载链接包上面这个包可以使用,但是各个项目不同,架构不同,
建议下载源代码后自己根据自己项目情况修改后打包成插件包使用。

idea插件安装: 在setting中找到plugins,选择本地文件,就是上面下载的这个IdeaAutoGenerateCodePlugin.jar

crud java 代码自动生成 java代码自动生成工具_java_02

安装好后,重启idea,可以在 项目的java文件右键菜单,或者打开的java文件右键菜单中发现一个新增加的菜单项:

crud java 代码自动生成 java代码自动生成工具_crud java 代码自动生成_03


结果出现下图(说明这个java文件不能自动生成代码):

crud java 代码自动生成 java代码自动生成工具_java_04


要能自动生成代码,这个java文件(元数据文件)必须满足条件:

1、java文件且包名称以"metadata."开头;
2、有注解 'www.autogeneratecode.model.Entity’

点击OK,会帮你自动生成一个可以 用于自动生成代码的 java元数据文件:

package metadata.www.test.com;

import www.autogeneratecode.model.Column;
import www.autogeneratecode.model.Comment;
import www.autogeneratecode.model.Entity;
import www.autogeneratecode.model.Table;

@Entity
@Comment(content = "ExampleFile")
@Table(name="T_ExampleFile")
public class ExampleFile {
/**
* note:
* import class:(Entity,Column,Comment,Table) is in jarfile: auto_generate_code_mode.jar, can download from :
* https://github.com/hilinw/IdeaAutoGenerateCodePlugin.git  dir: lib/ 
* 
*/

    @Comment(content="用户ID")
    @Column(name="FUSERID", dataType="decimal", precision=32)
    public long id;
 
    @Comment(content="用户名")
    @Column(name="FNAME", dataType="VARCHAR" ,nullable=false ,length=50)
    public String name;

    @Comment(content="用户编码")
    @Column(name="FNUMBER", dataType="VARCHAR" ,nullable=false ,length=20)
    public String number;

}

其中引入的注释类,需要下载后引入本项目中,仅用于生成代码。
下载地址:
https://github.com/hilinw/IdeaAutoGenerateCodePlugin/blob/master/lib/auto_generate_code_mode.jar 插件包里面也可以找到:IdeaAutoGenerateCodePlugin.jar

在这个元数据文件右键菜单,打开刚才那个自动生成代码的菜单项,就可以看到:

crud java 代码自动生成 java代码自动生成工具_java_05


如果选择了“Generate files in the same directory”,则生成的java文件会在一个目录里面。否则会在不同目录下。

这里元数据支持继承,你可以定义一个基础类元数据,然后自动生成VO。
新建子元数据继承于基础元数据,子元数据自动生成代码后,也有继承基础元数据的 VO。

点击OK后,生成代码如下图所示:

crud java 代码自动生成 java代码自动生成工具_java_06


如果文件编译出错,可能你需要在项目中引入 spring相关文件,项目的spring_lib目录下有提供下载。