這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)

背景

目前大部分的代碼生成方式都是采用mybatis或者mybatis-plus的插件來(lái)生成后端的業(yè)務(wù)增刪改查代碼,但是插件生成畢竟存在局限性,不利于靈活擴(kuò)展,對(duì)于需要生成自定義項(xiàng)目結(jié)構(gòu)更加不友好。

本文主要以碼云開源項(xiàng)目:cpms-cloud 微服務(wù)中的低代碼服務(wù)模塊為例,講解只通過(guò)velocity模板引擎如何搭建一個(gè)高擴(kuò)展性、高度自定義的低代碼生成器服務(wù)平臺(tái)。

velocity模板引擎語(yǔ)法的使用自行搜索!??!

1.項(xiàng)目初始化腳手架生成

有時(shí)候我們需要開發(fā)新的項(xiàng)目時(shí),免不了需要搭建一個(gè)項(xiàng)目腳手架出來(lái),定義目錄的層級(jí)結(jié)構(gòu),包分層等等自定義化的操作。那么下面的這個(gè)功能將會(huì)大大地滿足你的需求

如下圖我們可以定義腳手架的目錄層級(jí)結(jié)構(gòu)

這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)

腳手架目錄結(jié)構(gòu)

比如上面的結(jié)構(gòu)是cpms開源項(xiàng)目統(tǒng)一的包分層結(jié)構(gòu),有了這個(gè)功能我們可以把公司內(nèi)部所有的新項(xiàng)目結(jié)構(gòu)做一個(gè)很好的統(tǒng)一控制。

項(xiàng)目演示截圖

1.首先創(chuàng)建腳手架工程

這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)

創(chuàng)建工程

2.填寫相關(guān)的腳手架基礎(chǔ)信息

這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)

填寫基礎(chǔ)信息

上面的表單主要分為兩個(gè)部分:

工程基礎(chǔ)信息:工程的包名、端口號(hào)、JDK版本、groupId、artifactId等

數(shù)據(jù)源信息:支持?jǐn)?shù)據(jù)源配置

創(chuàng)建完成后,我們就可以把剛剛添加的工程腳手架下載下來(lái)了

2.表的增刪改查功能生成

在上面創(chuàng)建的腳手架工程下,我們可以生成該工程指定庫(kù)的表的增刪改查功能

如下圖所示,根據(jù)自己開發(fā)的項(xiàng)目目錄結(jié)構(gòu)自定義需要的模板以及模板層級(jí)結(jié)構(gòu)

這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)

增刪改查模板

項(xiàng)目演示截圖

1.選擇工程對(duì)應(yīng)的數(shù)據(jù)庫(kù)下的表

這才是JAVA最好的低代碼生成方案(這才是java最好的低代碼生成方案是什么)

選擇庫(kù)表

注意上面的文件名稱和目錄名稱中有使用到${}占位符,主要目的是為了在生成過(guò)程中動(dòng)態(tài)地替換文件名稱;

項(xiàng)目中還涉及到動(dòng)態(tài)數(shù)據(jù)源切換的操作,主要目的就是當(dāng)我們的數(shù)據(jù)庫(kù)新增或修改表結(jié)構(gòu)的時(shí)候,我們可以實(shí)時(shí)的同步到我們代碼生成器服務(wù)中的表中保存下來(lái),免去了手動(dòng)導(dǎo)入表結(jié)構(gòu),這里有別于大部分開源項(xiàng)目實(shí)現(xiàn)代碼生成的方式;

最后

看到?jīng)],通過(guò)這種方式我們可以很靈活且自由地根據(jù)我們當(dāng)前所開發(fā)的項(xiàng)目目錄結(jié)構(gòu)來(lái)動(dòng)態(tài)的自定義模板。

項(xiàng)目中還涉及到大量的技術(shù),這里就不一一講解了,具體的實(shí)現(xiàn)邏輯可以閱讀碼云開源碼:cpms-cloud

#開源項(xiàng)目推薦##springboot##低代碼開發(fā)有什么應(yīng)用前景##java源碼##微服務(wù)學(xué)習(xí)#

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部