背景
目前大部分的代码生成方式都是采用mybatis或者mybatis-plus的插件来生成后端的业务增删改查代码,但是插件生成毕竟存在局限性,不利于灵活扩展,对于需要生成自定义项目结构更加不友好。
本文主要以码云开源项目:cpms-cloud 微服务中的低代码服务模块为例,讲解只通过velocity模板引擎如何搭建一个高扩展性、高度自定义的低代码生成器服务平台。
velocity模板引擎语法的使用自行搜索!!!
1.项目初始化脚手架生成
有时候我们需要开发新的项目时,免不了需要搭建一个项目脚手架出来,定义目录的层级结构,包分层等等自定义化的操作。那么下面的这个功能将会大大地满足你的需求
如下图我们可以定义脚手架的目录层级结构
脚手架目录结构
比如上面的结构是cpms开源项目统一的包分层结构,有了这个功能我们可以把公司内部所有的新项目结构做一个很好的统一控制。
项目演示截图
1.首先创建脚手架工程
创建工程
2.填写相关的脚手架基础信息
填写基础信息
上面的表单主要分为两个部分:
工程基础信息:工程的包名、端口号、JDK版本、groupId、artifactId等
数据源信息:支持数据源配置
创建完成后,我们就可以把刚刚添加的工程脚手架下载下来了
2.表的增删改查功能生成
在上面创建的脚手架工程下,我们可以生成该工程指定库的表的增删改查功能
如下图所示,根据自己开发的项目目录结构自定义需要的模板以及模板层级结构
增删改查模板
项目演示截图
1.选择工程对应的数据库下的表
选择库表
注意上面的文件名称和目录名称中有使用到${}占位符,主要目的是为了在生成过程中动态地替换文件名称;
项目中还涉及到动态数据源切换的操作,主要目的就是当我们的数据库新增或修改表结构的时候,我们可以实时的同步到我们代码生成器服务中的表中保存下来,免去了手动导入表结构,这里有别于大部分开源项目实现代码生成的方式;
最后
看到没,通过这种方式我们可以很灵活且自由地根据我们当前所开发的项目目录结构来动态的自定义模板。
项目中还涉及到大量的技术,这里就不一一讲解了,具体的实现逻辑可以阅读码云开源码:cpms-cloud
#开源项目推荐##springboot##低代码开发有什么应用前景##java源码##微服务学习#
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。