这个是一个工具,用于快速生成代码,实现增删改查逻辑.
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;
}
}
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}’为你要生成自定义表的表名,可以多个。 |