代码生成器codgen简介

代码生成器codgen简介

ID:34737576

大小:83.68 KB

页数:4页

时间:2019-03-10

代码生成器codgen简介_第1页
代码生成器codgen简介_第2页
代码生成器codgen简介_第3页
代码生成器codgen简介_第4页
资源描述:

《代码生成器codgen简介》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、en通常需要包含一个TableModel来生成基于某张数据库表的一系列代码文件,但是可以动态去修改这些数据模型的内容,包括增加、替换和移除这棵数据模型树的任一个节点。简而言之,只要保证被解析的模板引用到的那些数据模型存在即可。1.2codgen的模板codgen的模板支持两种格式,一种是text(文本格式);另一种是file(文件格式)。1.3codgen的输出Codgen的输出和模板一样,也支持两种输出格式,一种是text(文本格式);另一种是file(文件格式)。2、如何使用codgen2.1下载最新的codgen.

3、jar及其依赖包  由于codgen不是一个独立的项目,本着不重新发明轮子的原则,依赖于一些比较流行的开源框架。因此除了需要下载最新的codgen.jar包文件以外,还要下载以下jar文件:·commons-lang.jar或以上兼容版本·commons-logging.jar或以上兼容版本·log4j-1.2.14或以上兼容版本·freemarker-2.3.13或以上兼容版本除了以上4个必须依赖的开源包以外,由于codgen的TableModel元数据是通过JDBC来获取的,还需要下载对应数据库方言的JDBC驱动包,

4、比如SQLServer2005的JDBC驱动包是sqljdbc.jar。目前codgen默认只支持Oracle10gSQLServer2000SQLServer2005三种数据库版本。但是可以通过扩展实现codgen提供的DbProvider接口来支持更多的数据库版本。·Oracle10g的JDBC驱动包:ojdbc14.jar·SQLServer2000的JDBC驱动包:msbase.jar、mssqlserver.jar和msutil.jar·SQLServer2005的JDBC驱动包:sqljdbc.jar2.

5、2编写codgen配置文件虽然不使用配置文件的方式也可以实现整个代码的构建操作,但是为了减少使用代码的编写量及方便日后维护,建议使用配置文件来声明构建所依赖的一些信息,譬如‘数据模型’变量声明,‘输出模型’变量声明,以及数据库信息提供者等一些可以与代码分离的配置信息。以下就是一段比较完整的配置文件: 

6、tion1.0//EN""com/bcs/codgen/resources/codgen-config_1_0.dtd">                            

7、dbcConfig>                 com.microsoft.sqlserver.jdbc.SQLServerDriver                 jdbc:sqlserver://127.0.0.1SQL2005;DatabaseName=MUCM_DG;selectMethod=cursor                 sa                 sa

8、                                                     

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。