背景
目前大部分的代碼生成方式都是采用mybatis或者mybatis-plus的插件來生成后端的業(yè)務增刪改查代碼,但是插件生成畢竟存在局限性,不利于靈活擴展,對于需要生成自定義項目結構更加不友好。
本文主要以碼云開源項目:cpms-cloud 微服務中的低代碼服務模塊為例,講解只通過velocity模板引擎如何搭建一個高擴展性、高度自定義的低代碼生成器服務平臺。
velocity模板引擎語法的使用自行搜索?。?!
1.項目初始化腳手架生成
有時候我們需要開發(fā)新的項目時,免不了需要搭建一個項目腳手架出來,定義目錄的層級結構,包分層等等自定義化的操作。那么下面的這個功能將會大大地滿足你的需求
如下圖我們可以定義腳手架的目錄層級結構
腳手架目錄結構
比如上面的結構是cpms開源項目統(tǒng)一的包分層結構,有了這個功能我們可以把公司內(nèi)部所有的新項目結構做一個很好的統(tǒng)一控制。
項目演示截圖
1.首先創(chuàng)建腳手架工程
創(chuàng)建工程
2.填寫相關的腳手架基礎信息
填寫基礎信息
上面的表單主要分為兩個部分:
工程基礎信息:工程的包名、端口號、JDK版本、groupId、artifactId等
數(shù)據(jù)源信息:支持數(shù)據(jù)源配置
創(chuàng)建完成后,我們就可以把剛剛添加的工程腳手架下載下來了
2.表的增刪改查功能生成
在上面創(chuàng)建的腳手架工程下,我們可以生成該工程指定庫的表的增刪改查功能
如下圖所示,根據(jù)自己開發(fā)的項目目錄結構自定義需要的模板以及模板層級結構
增刪改查模板
項目演示截圖
1.選擇工程對應的數(shù)據(jù)庫下的表
選擇庫表
注意上面的文件名稱和目錄名稱中有使用到${}占位符,主要目的是為了在生成過程中動態(tài)地替換文件名稱;
項目中還涉及到動態(tài)數(shù)據(jù)源切換的操作,主要目的就是當我們的數(shù)據(jù)庫新增或修改表結構的時候,我們可以實時的同步到我們代碼生成器服務中的表中保存下來,免去了手動導入表結構,這里有別于大部分開源項目實現(xiàn)代碼生成的方式;
最后
看到?jīng)],通過這種方式我們可以很靈活且自由地根據(jù)我們當前所開發(fā)的項目目錄結構來動態(tài)的自定義模板。
項目中還涉及到大量的技術,這里就不一一講解了,具體的實現(xiàn)邏輯可以閱讀碼云開源碼:cpms-cloud
#開源項目推薦##springboot##低代碼開發(fā)有什么應用前景##java源碼##微服務學習#
版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。