查看原文
其他

代码生成器:提升程序员的生产力 | 码云周刊第 27 期

码云OSC Gitee 2021-05-26

代码生成器:提升程序员的生产力


码云项目推荐

1

基于代码生成器的 J2EE 快速开发平台 jeecg

项目简介:JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台。引领新的开发模式( Online Coding -> 代码生成器 -> 手工 MERGE 智能开发),可以帮助解决 Java 项目 60% 的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。

JEECG 宗旨是: 

简单功能由代 Online Coding 配置出功能;

  • 复杂功能由代码生成器生成进行手工Merge;

  • 复杂流程业务采用表单自定义,业务流程使用工作流来实现、扩展出任务接口,供开发编写业务逻辑。

实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密行,又减少了开发人员的工作量。

JEECG从V_3.6.3版本开始,采用插件开发模式,JEECG 走简化轻量级路线,后续升级和功能模块,采用插件开发模式,进行集成。

项目地址:

https://gitee.com/jeecg/jeecg

2

轻量级的代码生成器内核 JCOP

项目简介:定制属于自己的 Java 代码生成器(当然其他语言也可以),从 JFinal-Code-Online Platform( JCOP )开始。JCOP 是一个基于 Java,JFinal 开发的轻量级代码生成器内核,是一个标准 java web 项目,使用时不依赖任何 IDE,其核心设计目标是学习简单,扩展自由可加入一切自己想生成的文件的模板,绝对的灵活自由。它可用任何模板引擎生成一切代码,目前默认提供 Java 代码生成器,支持 JFinal Web 风格项目,不久将加入传统的 SSH 项目生成。

项目特性:

  • 基于业务模型快速生成,大大提高开发速度。

  • 不引入新的规范新的技术,和已有的开发模式相同,是已有开发模式的补充。

  • 生成的源代码和生成器模板,均可自由修改,并能很容易的加入新的模板

  • 基础框架可按照已有的技术框架任意组合,不会将用户绑到特定的框架.

  • 容易上手,无论是学习还是作用项目开发,平台容易掌握,学习曲线低。

项目地址:

https://gitee.com/zhouleib1412/jfinal-code-online

3

基于数据库物理模型的代码生成器 CodeBuilder

项目简介:CodeBuilder(English) 是一款简单易用且轻量级的基于数据库物理模型的代码(C#/java/ruby/php/xml等)生成工具。

项目特性:

  • 支持从 PowderDesigner12 + 文件(PDM)/ SQLserver2000/2005/2008/Oralce/Mysql5 中导入数据库表结构。

  • 利用 velocity 模板引擎生成代码。

项目地址:

https://gitee.com/xianrendzw/CodeBuilder

4

基于 mybatisplus 的 web 代码生成工具

项目简介:该项目是基于 mybatispluls 的代码工具编写,同公司人员无需在本机运行 main 方法,可以方便统一使用该 web 项目。漂亮的登录页面(amaze云适配)运行无需任何数据库链接,数据源配置记录在属性文件中,项目重启也不会丢失。

项目地址:

https://gitee.com/cooper.com.cn/mybatisplus-generator-web

5

基于数据库元数据模型的代码生成器 Codgen

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

项目特性:

  • 采用 freemarker 的构建公式:数据模型+模板=输出,默认使用 freeMarker 模板引擎来生成代码,但可以通过 Builder 接口实现其他构建方式。

  • 核心数据模型 TableModel 基于 JDBC 实现表元数据及其所有字段列的相关元数据信息的封装。

  • 数据模型 TableModel 基于 JDBC 实现,可以取得大部分元数据信息,个别信息的取得与具体数据库方言有关,可以通过扩展 DbProvider 来实现。

  • 通过实现接口 ColumnHandler,可以完成 JDBC 数据类型到各种编程语言的类型转换操作及更多复杂的操作,如处理 Oracle 的大写列名以增强列名称的可读性。

  • 通过配置可以动态增加或重定义数据模型,并可以被后面的数据模型通过模板语言引用或组装。

  • 构建时指定的模板可以是一段文本字符串,也可以是一个文件路径,并且它们的内容里都可以引用已定义的数据模型。

  • 构建时指定的输出类型可以是文本,也可以是文件,指定的文件输出路径也可以引用数据模型变量。

  • 项目配置引入继承机制,这样就可以重用在父类配置中已定义的数据模型及其他配置信息。

  • 项目配置信息可以分开多个配置文件存放,codgen 一次性加载并缓存起来以加速之后的访问。

项目地址:

https://gitee.com/htengen/codgen

推荐阅读


码云独立域名正式揭晓


码云小课堂 | 主流的开源协议有哪些?我们该如何选择?


十分钟搭建自己的问卷调查系统 | 码云周刊第 26 期


2017 JavaScript 开发者的学习图谱 | 码云周刊第 25 期


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存