这个是一个工具,用于快速生成代码,实现增删改查逻辑.

1. 环境安装

1.1. 软件需求

  1. 开发集成环境(Eclipse,IDEA)

  2. Maven3.6

  3. Lumos

1.2. Maven配置

工具包maven信息
<dependency>
     <groupId>com.ags.lumosframework</groupId>
     <artifactId>lumos-code-generator</artifactId>
     <version>3.0.0-SNAPSHOT</version>
</dependency>

2. 配置文件介绍

该文件描述该工具所使用到的所有的信息,对生成代码,有很重要的影响。
#vm template folder for internal only
vmLocation=src/main/resources/templates
outFolder=E:/target
#mes-core-api
#Demo  DemoEntity IDemoService DemoService
beanPath=mes-core-standard/mes-core-api/src/main/java/com/ags/mes/server/api/domain
beanEntityPath=mes-core-standard/mes-core-api/src/main/java/com/ags/mes/server/api/entity
iBeanServicePath=mes-core-standard/mes-core-api/src/main/java/com/ags/mes/server/api/service
iBeanHandlerPath=mes-core-standard/mes-core-api/src/main/java/com/ags/mes/server/api/handler
beanServicePath=mes-core-standard/mes-core-api/src/main/java/com/ags/mes/server/api/service/impl
#mes-core-impl
#DemoDao  DemoHandler
beanDaoPath=mes-core-standard/mes-core-impl/src/main/java/com/ags/mes/server/impl/dao
beanHandlerPath=mes-core-standard/mes-core-impl/src/main/java/com/ags/mes/server/impl/handler
#mes-web-base
#AddDemoDialog  AddDemoDialogPresenter  DemoViewImpl  DemoViewPresenter
#IAddDemoDialog IDemoView
addBeanDialogPath=mes-web-standard/mes-web-base/src/main/java/com/ags/mes/webbase/ui/view/configuration
addBeanDialogPresenterPath=mes-web-standard/mes-web-base/src/main/java/com/ags/mes/webbase/ui/view/configuration
beanViewImplPath=mes-web-standard/mes-web-base/src/main/java/com/ags/mes/webbase/ui/view/configuration
beanViewPresenterPath=mes-web-standard/mes-web-base/src/main/java/com/ags/mes/webbase/ui/view/configuration
iBeanViewPath=mes-web-standard/mes-web-base/src/main/java/com/ags/mes/webbase/ui/view/configuration
iAddBeanDialogPath=mes-web-standard/mes-web-base/src/main/java/com/ags/mes/webbase/ui/view/configuration
#mes-web-ui
#DemoViewWrapper
beanViewWrapperPath=mes-web-standard/mes-web-ui/src/main/java/com/ags/mes/ui/configuration/view
#Entity file info
tableName=DEMO_PERSON
entityFileName=DemoPersonEntity
columnsName=ID_NO,PERSON_NAME
columnsType=String,String

3. 通过Jar方式(推荐)

3.1. 项目结构

修改jar并级目录 gencfg 内 generator.properties 配置
  • outFolder 输出路径,比如: E:/target

  • tableName 表名,比如:SYS_ACCOUNT

  • entityFileName Entity文件名,比如:AccountEntity

  • columnsName 私有字段名,多个用逗号分隔,比如:ACCOUNT_NAME,ADDRESS1

  • columnsType 私有字段名对应的类型,多个用逗号分隔,比如:String,String

运行 java -jar .\codeGen1.0.jar 复制目录内生成的文件到对应的项目,阅读 outFolder 根目录下的 readMe.txt 文件,按说明做配置

4. main方法生成

4.1. 引入依赖

在Entity类所在项目(假定项目名为demo-api)的pom.xml文件引入lumos-code-generator
<dependency>
     <groupId>com.ags.lumosframework</groupId>
     <artifactId>lumos-code-generator</artifactId>
     <version>3.0.0-SNAPSHOT</version>
</dependency>

4.2. 修改properties文件

复制 generator.properties到demo-api项目的src/main/resource目录下,并根据需要,修改以下路径

  • vmLocation 使用默认

  • outFolder 文件输出路径

  • xxxPath 类输出路径

4.3. 创建Entity

以DemoPersonEntity为例
public class DemoPersonEntity extends BuildtimeBaseEntity {
    private static final long serialVersionUID = 1L;

    public static final String NAME = "personName";
    public static final String ID_NO = "idNo";
    public static final String PERSON_NAME = "personName";

    public DemoPersonEntity() {
    }

    @Column(name = "ID_NO")
    private String idNo;

    @Column(name = "PERSON_NAME")
    private String personName;


    public String getIdNo() {
        return idNo;
    }

    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }

}

4.4. 创建main方法,并执行

可以拷贝如下代码到你的项目中,运行该main方法,然后在outFolder指定位置会有生成的文件。
public static void main(String[] args) {
    System.out.println("start...");
    CodeGeneration.generate({YourEntity}.class);
    System.out.println("end...");
}
替换‘{YourEntity}’为你的Entity名称即可

4.5. 复制文件到项目指定位置

复制类文件到二次开发项目的对应位置,如有编译错误自行修改,参考outFolder定义的路径下的readMe.txt修改TODO项目后启动服务

4.6. 启动运行

生成的文件编译无错后,可以启动运行,那么在菜单中将会看淡该页面的入口信息,页面如下:

demo

5. 自定义表代码生成

5.1. 引入依赖

在项目(假定项目名为demo-api)的pom.xml文件引入lumos-code-generator
<dependency>
     <groupId>com.ags.lumosframework</groupId>
     <artifactId>lumos-code-generator</artifactId>
     <version>3.0.0-SNAPSHOT</version>
</dependency>

5.2. 修改properties文件

复制 generator.properties到demo-api项目的src/main/resource目录下,并根据需要,修改以下路径

  • vmLocation 使用默认

  • outFolder 文件输出路径

  • xxxPath 类输出路径

5.3. 创建main方法,并执行

可以拷贝如下代码到你的项目中,运行该main方法,然后在outFolder指定位置会有生成的文件。
public static void main(String[] args) {
    String driver = "{DBDriver}";
    String url = "{DBUrl}";
    String userName = "{DBUserName}";
    String password = "{DBPassword}";
    String[] tableNameStr = {TableNameStr};
    System.out.println("start to generate...");
    CodeGeneration.customizeGenerateByName(driver, url, userName, password, tableNameStr);
    System.out.println("generate end...");
}
替换‘{DBDriver}’为你的数据库驱动,‘{DBUrl}’为你的数据连接,‘{DBUserName}’为你的数据库名称,‘{DBPassword}’为你的数据库密码,‘{TaleNameStr}’为你要生成自定义表的表名,可以多个。

5.4. 将生成的文件复制到项目的指定位置

复制类文件到二次开发项目的对应位置,如有编译错误自行修改,参考outFolder定义的路径下的readMe.txt修改TODO项目后启动服务

5.5. 启动运行

生成的文件编译无错后,可以启动运行,那么在菜单中将会看淡该页面的入口信息,页面如下:

customizeDemo