Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ht333/generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

rapid-generator

半自动化Java代码生成器[利用freemarker模板生成]

本项目Github地址: https://github.com/yuchenggroup/rapid-generator

项目最初来自于 https://code.google.com/p/rapid-generator/

增加一些定制和扩展, 修改为基于MAVEN的格式。 整体架构保持不变。

增加的特性为:

  1. 支持表名前缀去除,参考配置文件中的 tableRemovePrefixes
  2. 支持列名前缀去除,参考配置文件中的 rowRemovePrefixes
  3. 支持需要忽略的表,参考配置文件中的 skipTablePrefixes
  4. 支持子包,参考配置文件中的 subpackage,其实原版就支持, 目录为属性KEY加上 _dir 即可,例如 "${xxxKEY_dir}"
  5. 其他一些模板使用上的修正,参考 template 目录

开始日期: 2016年1月21日

使用说明

1. 构建项目/编译

执行 maven_clean_package.cmd 文件或者以下命令进行编译:

mvn clean package -DskipTests

编译后的文件在 target/bin 目录下。 目录结构为:

|--lib\				: 依赖库
|--template\		: 模板文件
|--generator.xml	: 配置文件
|--rapid-gen.bat	: Win32脚本文件

2. 代码生成

2.1 启动生成器

resource下generator.xml 中mysql用户修改,basepackage,subpackage,urlpackage 自己根据需求修改,模板为templete下相关文件,按照需要修改即可 GeneratorMain 运行main方法即可 将bin目录拷贝到需要的地方, 这就是生成文件需要的东西。

拷贝好之后, 修改generator.xml,需要修改的 entry 包括:

basepackage
subpackage
jdbc.url
jdbc.username
jdbc.password

双击执行rapid-gen.bat文件,或者执行命令:

Windows下:

set classpath=%classpath%;.;.\lib\*
java -Xms128m -Xmx384m cn.org.rapid_framework.generator.ext.CommandLine -DtemplateRootDir=template

Linux 系统使用 export 设置环境变量。

Linux 系统(未验证!!):

以及MacOSX系统:

java -classpath '.:./lib/*' -Xms128m -Xmx384m cn.org.rapid_framework.generator.ext.CommandLine -DtemplateRootDir=template

2.2 使用生成器

启动之后如果不报错,则提示信息为:

templateRootDir:E:00円_GIT_ALL\rapid-generator\target\bin\template
Usage:
 gen table_name [include_path]: 根据 table_name 生成
 del table_name [include_path]: 根据 table_name 删除
 gen * [include_path]: 生成所有
 del * [include_path]: 删除对应数据库中所有表的文件
 quit : 退出
 [include_path] 可为空,指templateRootDir的子目录,例如: 1. dao 2. dao/**,service/**
please input command:_

根据提示, 输入 gen * 回车,则对所有表进行生成。

输入 gen 表名 则是生成单个表。

生成之后的目录默认为 generator-output

生成完毕之后,因为这是一个半自动生成器,所以需要手工拷贝代码。

这也是合理的,因为代码开发是程序员的事。 这不是自动编译或者发布,所以。。。

2.3 其他

  • 高级用法请自己摸索。
  • template 下可以自己进行修改,可以参考源码,以及 Freemarker的官方文档(见上方)。
  • 配置文件信息,请参考generator.xml里面的注释。

freemarker中key有特殊字符,如(.-等)

root key 使用:
.vars["aaaa.bbb"]
.vars["aaaa-bbb"]
非root key 使用:
ccc["ddd.eee"]
ccc["ddd-eee"]

联系方式: liangliang1259i@163.com

About

代码生成器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.6%
  • JavaScript 3.1%
  • Other 0.3%

AltStyle によって変換されたページ (->オリジナル) /