Codgen代码生成器
Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节点一般包含一个TableModel(表数据模型)对象。TableModel顾名思义就是由一张数据库表的元数据信息组成的一个数据模型,有了这个数据模型,再加上一套使用freemarker编写的多层架构模板,就可以生成一套基于这个表的多层架构代码文件。
总的来说,codgen具有以下主要功能及特性:- 采用freemarker的构建公式:数据模型+模板=输出,默认使用freeMarker模板引擎来生成代码,但可以通过Builder接口实现其他构建方式。
- 核心数据模型TableModel基于JDBC实现表元数据及其所有字段列的相关元数据信息的封装。
- 数据模型TableModel基于JDBC实现,可以取得大部分元数据信息,个别信息的取得与具体数据库方言有关,可以通过扩展DbProvider来实现。
- 通过实现接口ColumnHandler,可以完成JDBC数据类型到各种编程语言的类型转换操作及更多复杂的操作,如处理Oracle的大写列名以增强列名称的可读性。
- 通过配置可以动态增加或重定义数据模型,并可以被后面的数据模型通过模板语言引用或组装。
- 构建时指定的模板可以是一段文本字符串,也可以是一个文件路径,并且它们的内容里都可以引用已定义的数据模型。
- 构建时指定的输出类型可以是文本,也可以是文件,指定的文件输出路径也可以引用数据模型变量。
- 项目配置引入继承机制,这样就可以重用在父类配置中已定义的数据模型及其他配置信息。
- 项目配置信息可以分开多个配置文件存放,codgen一次性加载并缓存起来以加速之后的访问。
下图为基于codgen开发的一个代码生成实践示范项目mycodgen:
评论
analysis230.github.ioG 代码生成器
G 代码(G-code,又称RS-274),是最为广泛使用的数控(numerical control
analysis230.github.ioG 代码生成器
0
LT.VS2005AddIns代码生成器
针对VS2005/VS2008开发的一套轻量级代码生成器,使用非常简单。支持多种数据库连接:MSSQL、MySQL、Access、SQLite等支持自定义模板(使用XSL文件作为模板,只要熟悉XML就
LT.VS2005AddIns代码生成器
0
Nutz-maticNutz 代码生成器
Nutz-matic是Nutz代码生成器,根据数据表结构直接生成项目全部CRUD源代码,理论支持所有数据库,目前已确认支持的数据库如下:MYSQLORACLESQLSERVERPSQL生成MAVEN项
Nutz-maticNutz 代码生成器
0
AutoCode_vs2005代码生成器
AutoCode_vs2005本软件的目的就是加快开发效率,建立在Modelfirst的基础上。在众多软件设计中PO和DAO的书写大多是重复的,有规律的。采用人工编码的方式费时费力,何不采用程序代替呢
AutoCode_vs2005代码生成器
0