Codgen 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Codgen 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Codgen 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 黄天政
适用人群 未知
收录时间 2013-01-29

软件简介

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

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

 下图为基于codgen开发的一个代码生成实践示范项目mycodgen

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
对java不熟的基本是用不了!
2017/04/25 11:26
回复
举报
黄天政软件作者
#Codgen#项目已完成从google代码托管迁移到开源git.oschina,最新项目地址为:https://git.oschina.net/htengen/codgen
2015/10/08 16:21
回复
举报
更多评论
暂无内容
发表了博客
2016/03/21 15:36

Codgen

大神的原项目GIT首页:https://git.oschina.net/htengen/codgen 基于这个大神的思想,我们可以2次开发一下,弄成适合我们项目的代码模板生成器 可以生成从po,vo,dao,service,contoller,jsp等 好用的一笔强烈推荐 大大提高开发效率,把你平常无聊的crud从前台到后台完美生成。

0
0
发表于行业趋势专区
2020/12/21 20:23

TVM学习(三)编译流程

TVM主要的编译过程如下图: Import:将tensorflow,onnx,pytorch等构建的深度学习模型导入,转化成TVM的中间层表示IR。 Lower:将高层IR表示转化成低阶TIR表示。 Codegen:内存分配和硬件可执行程序生成。 图导入 通过一个tensorflow的reception网络来熟悉编译过程,其它深度学习框架也具有类似过程。从TVM官网可以下载tensorflow的编译程序 https://tvm.apache.org/docs/tutorials/frontend/from_tensorflow.html#sphx-glr-t...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/05/24 13:29

codgen是怎么用的啊,我学活html& js 看文档,没有看到怎么启用

@黄天政 你好,想跟你请教个问题:codgen是怎么用的,我学活html& js, 看文档,没有看到怎么启用的,也没有找到任何可以执行的EXE文件啊~

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2 评论
79 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部