最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

我寫(xiě)了個(gè)工具,讓CRUD開(kāi)發(fā)效率提升100倍

2023-04-05 09:58 作者:劉小六六不六  | 我要投稿

最近在做一個(gè)項(xiàng)目,需要新建20多張表

相信大多數(shù)同學(xué)應(yīng)該和我一樣,都是比較討厭創(chuàng)建新表這個(gè)工作的,因?yàn)槊縿?chuàng)建一張表,都要去創(chuàng)建實(shí)體類(lèi)、創(chuàng)建增刪改查的接口、編寫(xiě)增刪改查的SQL代碼等等,把這些事情做完,2個(gè)小時(shí)也就過(guò)去了

我就在思考啊,每一張表,就要耗費(fèi)兩個(gè)小時(shí),20多張表,那就是40多個(gè)小時(shí),一周的時(shí)間就這樣過(guò)去了。

這誰(shuí)受得了呀,所以我打算寫(xiě)一個(gè)工具,把這些代碼都自動(dòng)生成出來(lái)!

在連續(xù)爆肝了5個(gè)晚上之后,我做出了這款自動(dòng)生成業(yè)務(wù)代碼的工具!

我把它放在了我的工具站上,大家可以訪問(wèn)這個(gè)域名直接使用

utilsbox.cn/?app=bizcod…

使用演示

下面給大家演示一下

假設(shè)我們現(xiàn)在創(chuàng)建一個(gè)商品表

首先填寫(xiě)表名和表的中文名稱(chēng)

然后我們添加商品表對(duì)應(yīng)的字段,這些操作和我們?nèi)粘J褂玫臄?shù)據(jù)庫(kù)工具差不多

把字段填寫(xiě)好了之后,點(diǎn)擊“一鍵生成代碼”

高潮的地方來(lái)了

DB層、業(yè)務(wù)層、甚至是controller層的代碼,工具都幫我們自動(dòng)生成了!

來(lái)看下代碼,建表sql、增刪改查sql、表對(duì)應(yīng)的實(shí)體類(lèi)、DB層的接口類(lèi)、業(yè)務(wù)層的實(shí)體類(lèi)、業(yè)務(wù)層的接口類(lèi)、業(yè)務(wù)接口的實(shí)現(xiàn)類(lèi)、業(yè)務(wù)層實(shí)體類(lèi)和db層實(shí)體類(lèi)的轉(zhuǎn)換器,最后是controller層,這些代碼全都幫我們生成好了。

這是什么概念呢

現(xiàn)在我們只需要把這些代碼拷貝到項(xiàng)目里,簡(jiǎn)單設(shè)置一下類(lèi)的引用,增刪改查這些基本功能,就已經(jīng)可以直接給前端去調(diào)用了。

很多同學(xué)可能會(huì)問(wèn),如果是現(xiàn)有的數(shù)據(jù)表,再來(lái)這里添加一次感覺(jué)太麻煩了

這個(gè)問(wèn)題我也遇到了,所以我做了一個(gè)識(shí)別建表SQL的功能,常見(jiàn)的數(shù)據(jù)庫(kù)工具對(duì)于已經(jīng)創(chuàng)建好的表,都提供建表語(yǔ)句的復(fù)制功能,只需要把建表SQL粘貼到這個(gè)文本框里。

點(diǎn)擊“識(shí)別”按鈕,這個(gè)SQL的信息會(huì)自動(dòng)識(shí)別過(guò)來(lái),這時(shí)候只需要把表的中文名稱(chēng)填寫(xiě)上去,點(diǎn)擊“一鍵生成代碼”,就可以馬上得到這個(gè)表的業(yè)務(wù)代碼。

通用性的思考

不知道大家覺(jué)得怎么樣哈,如果只是我自己用,我覺(jué)著已經(jīng)非常好了,但既然是開(kāi)放出來(lái)給大家用,通用性肯定還是不夠的。

因?yàn)楝F(xiàn)在看到的這一套自動(dòng)生成的代碼,可能只是適合我,但不同的人、不同的公司,它們項(xiàng)目結(jié)構(gòu)的分層、代碼的細(xì)節(jié),都是不一樣的

所以,我還開(kāi)發(fā)了代碼模版配置的功能

點(diǎn)擊“代碼模版配置”按鈕,在這個(gè)彈窗里,我們可以新增、刪除代碼的分類(lèi)。同樣的,也可以新增、刪除和編輯具體的代碼模版。

代碼生成的原理

在說(shuō)代碼模版具體怎么配置之前,先給大家講一下代碼自動(dòng)生成的原理

它由代碼模版和動(dòng)態(tài)參數(shù)組成,核心就是匹配 - 替換

首先,工具提供了很多動(dòng)態(tài)參數(shù),這些動(dòng)態(tài)參數(shù),對(duì)應(yīng)的是我們填寫(xiě)的表名、字段名等等這些信息的原始值,或者處理過(guò)后的值。

然后,代碼模版由用戶自行定義,在代碼的關(guān)鍵位置,插入動(dòng)態(tài)參數(shù),即可形成一份代碼模版。

最后,工具通過(guò)匹配和替換動(dòng)態(tài)參數(shù),最終生成了代碼。

理論上,不論什么語(yǔ)言,你都可以配置專(zhuān)屬于你自己的代碼模版。

舉個(gè)簡(jiǎn)單的栗子:

我們配置了一份這樣的代碼模版,如下:

/** ?* $table_desc$Model模型 ?* Created by 創(chuàng)建人 on $current_time$. ?*/ public class $table_name_hump_A$Model extends ToString{ } 復(fù)制代碼

可以看到,模版里分別使用了$table_desc$(表中文名)$current_time$(當(dāng)前時(shí)間)、$table_name_hump_A$(表名轉(zhuǎn)首字母大寫(xiě)駝峰) 這三個(gè)動(dòng)態(tài)參數(shù)。

當(dāng)我們?cè)O(shè)置 表名 = goods_order、表中文名 = 商品訂單 時(shí),代碼生成的結(jié)果如下所示:

/** ?* 商品訂單Model模型 ?* Created by 創(chuàng)建人 on 2023-02-05 17:12:32. ?*/ public class GoodsOrderModel extends ToString{ } 復(fù)制代碼

動(dòng)態(tài)參數(shù)部分,全部替換成了我們輸入的表信息。

最后希望這個(gè)項(xiàng)目對(duì)大家有用,之后我會(huì)開(kāi)發(fā)更多有意思的項(xiàng)目。

由于這個(gè)項(xiàng)目都是晚上加班肝出來(lái)的,可能會(huì)存在一些BUG,發(fā)現(xiàn)了我會(huì)盡快修復(fù)的,也請(qǐng)大家多多包涵。

這幾天我會(huì)整理一下代碼,把注釋什么的都寫(xiě)好,然后把代碼完完整整的開(kāi)源給大家,感謝大家的觀看,我們下期見(jiàn)。

我寫(xiě)了個(gè)工具,讓CRUD開(kāi)發(fā)效率提升100倍的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
手游| 金寨县| 吉安市| 武冈市| 巫溪县| 神农架林区| 西安市| 青海省| 堆龙德庆县| 洪江市| 柯坪县| 大同县| 闽侯县| 依兰县| 延庆县| 平乡县| 老河口市| 柯坪县| 十堰市| 克什克腾旗| 兴化市| 宾川县| 邻水| 丰都县| 平利县| 顺义区| 富源县| 会泽县| 阳曲县| 靖西县| 安义县| 凤山县| 淅川县| 潼关县| 鹿泉市| 罗江县| 祁东县| 京山县| 漠河县| 敦煌市| 阿合奇县|