当前位置:  软件>C代码文档生成工具 Cxref iis7站长之家

代码生成器 Codgen

    来源:    发布时间:2015-02-06

    本文导语:  Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节点一般包含一个TableModel(表数据模...

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节点一般包含一个TableModel(表数据模型)对象。TableModel顾名思义就是由一张数据库表的元数据信息组成的一个数据模型,有了这个数据模型,再加上一套使用freemarker编写的多层架构模板,就可以生成一套基于这个表的多层架构代码文件。

    总的来说,codgen具有以下主要功能及特性:
  • 采用freemarker的构建公式:数据模型+模板=输出,默认使用freeMarker模板引擎来生成代码,但可以通过Builder接口实现其他构建方式。
  • 核心数据模型TableModel基于JDBC实现表元数据及其所有字段列的相关元数据信息的封装。
  • 数据模型TableModel基于JDBC实现,可以取得大部分元数据信息,个别信息的取得与具体数据库方言有关,可以通过扩展DbProvider来实现。
  • 通过实现接口ColumnHandler,可以完成JDBC数据类型到各种编程语言的类型转换操作及更多复杂的操作,如处理Oracle的大写列名以增强列名称的可读性。
  • 通过配置可以动态增加或重定义数据模型,并可以被后面的数据模型通过模板语言引用或组装。
  • 构建时指定的模板可以是一段文本字符串,也可以是一个文件路径,并且它们的内容里都可以引用已定义的数据模型。
  • 构建时指定的输出类型可以是文本,也可以是文件,指定的文件输出路径也可以引用数据模型变量。
  • 项目配置引入继承机制,这样就可以重用在父类配置中已定义的数据模型及其他配置信息。
  • 项目配置信息可以分开多个配置文件存放,codgen一次性加载并缓存起来以加速之后的访问。
  •  下图为基于codgen开发的一个代码生成器Demo:

    代码生成器 Codgen[图片]

     


        
     
     

    您可能感兴趣的文章:

  • CPython代码生成器 Shiboken
  • 最快速的java代码生成器 rapid-generator
  • C/C++ 代码文档生成器 cldoc
  • Java 的解析器代码生成器 AustenX
  • PHP代码生成器 PHPGEN
  • 代码生成器 JBurg
  • PHP代码生成器
  • JNI代码生成器 JNIGen
  • 懒惰者代码生成器 IdlerCodeGenerator
  • C++代码生成器 xsd2cc
  • 基于Android本地代码生成器详解
  • 基于代码生成器的快速开发平台 JEECG
  • linux c 生成随机数srand函数和rand函数介绍及代码示例
  • QT Designer生成的代码不能生成可执行程序
  • php生成短网址 仿微博短网址生成代码
  • Java代码自动生成工具 JunJava
  • bean 代码生成工具 BeanGenerator
  • 在JB自己生成的EJB客户端的测试代码中都会自动生成,象String url = "t3://localhost:7001";这样的,请问:
  • glade无法生成C++代码
  • 代码自动生成工具 Acceleo
  • iBATIS的代码生成工具 Ibator
  • Java 代码生成工具 JAnnocessor
  • 生成Python代码的UML插件 PyUML
  • Eclipse代码生成插件 slave4j
  • php生成唯一标识符的代码
  • C代码文档生成工具 Cxref
  • 用rose试图生成java代码,提示如下错误,求教高手!
  • 欢迎使用、加入Arrow项目开发--一个自动化代码生成工具
  • 在程序里加入什么代码能生成core文件?
  • 代码生成工具 swing-generate
  • php生成短网址示例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • javascript 添加到收藏夹和书签代码示例
  • 在JBuilder中,为什么编写的代码中,当代码出现关键字时,后面的部分代码就移位了,当在有关键字的那些代码行进行选择时,也会出现鼠标位
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 为什么两行代码间不加入其他代码就崩溃,而加入了日志代码后就不崩溃?
  • JSP中清空cookie代码参考
  • 在ubuntu8.10 新立得中安装anjuta,为什么没有代码提示功能,怎么做才有,还有自动代码补全和代码提示有什么区别,
  • Python获取网页编码的方法及示例代码
  • 到底怎么样的代码算是有效代码?请教了。。
  • HTML网页中的html body onload自动跳转方法介绍及自动跳转代码示例
  • 如果要研究源代码以提高自己,哪一个开放源代码的软件比较合适?
  • php通过socket_bind()设置IP地址代码示例
  • linux源代码的时间函数源代码
  • boost库lexical_cast不同用法代码参考
  • gdb的时候代码 next显示的代码乱了
  • 通过javascript库JQuery实现页面跳转功能代码
  • 源代码!源代码!
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 哪位会使用代码保护工具WingGuard来保护java代码?
  • HTML网页的Meta Refresh自动跳转方法介绍及Meta Refresh自动跳转代码示例
  • 如何得到C语言代码对应的汇编代码?
  • Linux c++虚函数(virtual function)简单用法示例代码
  • RedHat Linux是开放源代码的吗?如何能看见它的源代码,如何进行修改?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3