一、新建數(shù)據(jù)源配置
??因考慮到多數(shù)據(jù)源問題,代碼生成器作為一個(gè)通用的模塊,后續(xù)可能會(huì)為其他工程生成代碼,所以,這里不直接讀取系統(tǒng)工程配置的數(shù)據(jù)源,而是讓用戶自己維護(hù)。

參數(shù)說明
- 數(shù)據(jù)源名稱:用于查找區(qū)分?jǐn)?shù)據(jù)源的名稱
- 連接地址 : 連接方式:數(shù)據(jù)庫(kù)類型:數(shù)據(jù)庫(kù)地址等參數(shù),例:jdbc:mysql://127.0.0.1/gitegg_cloud?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&all owMultiQueries=true&serverTimezone=Asia/Shanghai
- 用戶名:登錄數(shù)據(jù)庫(kù)的用戶名
- 密碼:登錄數(shù)據(jù)庫(kù)的密碼
- 數(shù)據(jù)庫(kù)驅(qū)動(dòng):數(shù)據(jù)庫(kù)驅(qū)動(dòng)類型,例:com.mysql.jdbc.Driver(MySQL5 )或 com.mysql.cj.jdbc.Driver(MySQL8 )
- 數(shù)據(jù)庫(kù)類型:選擇對(duì)應(yīng)的數(shù)據(jù)庫(kù)類型,如果有新增可以新增數(shù)據(jù)字典
- 備注:備注信息
二、新建業(yè)務(wù)數(shù)據(jù)字典
??界面的增刪改查界面會(huì)有一些數(shù)據(jù)字典的下拉框或者單選、多選等基礎(chǔ)數(shù)據(jù),這些根據(jù)具體需要生成代碼的表設(shè)計(jì)提前做好規(guī)劃,在業(yè)務(wù)字典中提前建好數(shù)據(jù)字典。在自定類型表,點(diǎn)擊一條記錄所在的行即是選中,右側(cè)字典值列表會(huì)出現(xiàn)對(duì)應(yīng)的字典值列表。

三、代碼生成的基礎(chǔ)配置
??代碼生成的基礎(chǔ)配置實(shí)際也是一類數(shù)據(jù)字典,但這是只針對(duì)代碼生成功能模塊使用的數(shù)據(jù)字典,比如在界面上選擇的數(shù)據(jù)庫(kù)類型、表單展現(xiàn)類型、樹類型等、都是獲取這里的配置數(shù)據(jù)。在實(shí)際應(yīng)用開發(fā)過程中,可以根據(jù)自己的需求進(jìn)行新增、修改。

四、校驗(yàn)規(guī)則配置
??在我們業(yè)務(wù)開發(fā)過程中,無(wú)論是界面還是接口,都會(huì)對(duì)數(shù)據(jù)字段的長(zhǎng)度、大小、類型等進(jìn)行校驗(yàn),這里的配置主要是配置數(shù)據(jù)字段校驗(yàn)的正則表達(dá)式,在代碼生成時(shí),會(huì)在前端代碼和后臺(tái)代碼添加校驗(yàn)方法進(jìn)行數(shù)據(jù)校驗(yàn)。

五、代碼配置(重點(diǎn))
??代碼配置是實(shí)際代碼生成的重點(diǎn),以上幾項(xiàng)配置都是為代碼生成做前期準(zhǔn)備工作,代碼配置模塊是實(shí)際的針對(duì)業(yè)務(wù)表進(jìn)行配置,最終生成代碼。
1、 新建代碼配置

配置參數(shù)說明
- 數(shù)據(jù)源 :選擇我們上面配置的需要生成代碼的數(shù)據(jù)庫(kù)。
- 模塊名稱:需要生成代碼的模塊名稱,這個(gè)名稱將用作菜單名稱、系統(tǒng)提示等。
- 模塊代碼:系統(tǒng)在生成代碼時(shí)會(huì)根據(jù)模塊代碼新建對(duì)應(yīng)名稱的目錄,進(jìn)行存放該模塊的代碼。
- 服務(wù)名稱:微服務(wù)注冊(cè)到Nacos上的名稱,框架中這個(gè)取得的是微服務(wù)pom.xml里的artifactId配置,在生成代碼時(shí),微服務(wù)名稱將加在請(qǐng)求url的前面,請(qǐng)一定確認(rèn)這個(gè)字段的正確性,否則訪問不到后臺(tái)服務(wù)。
- 表名 : 需要生成代碼的表。
- 表別名 :在生成多表聯(lián)合代碼時(shí),這個(gè)作為表的別名在查詢語(yǔ)句的mapper文件中使用。
- 表前綴 :在我們定義表時(shí),t_代碼是表(table的首字母),下劃線后面代碼子系統(tǒng)的名稱,再后面是模塊名稱,那么在我們生成代碼時(shí),前面的前綴需要去掉,只保留模塊名稱,即生成代碼時(shí)的實(shí)體類名稱。
- 父級(jí)包名:定義生成模塊代碼的包路徑,代碼將存放在這個(gè)包名下。
- 表單類型:在進(jìn)行增刪查改時(shí)的展現(xiàn)方式,有彈出框、新打開一個(gè)頁(yè)面、右側(cè)伸縮抽屜等形式
- 表單列數(shù):定義表單字段在表里每行展示幾列
- 數(shù)據(jù)展示:配置數(shù)據(jù)查詢列表的展示形式,有表格、樹等形式
- 左樹類型: 當(dāng)數(shù)據(jù)展示形式包含左側(cè)樹時(shí),這里可以選擇左側(cè)樹的數(shù)據(jù)類型
- Controller請(qǐng)求路徑:配置在Controller代碼中的 @RequestMapping 參數(shù),即模塊的請(qǐng)求路徑
- 后端代碼保存路徑:后端代碼的存放路徑,到具體微服務(wù)的根目錄即可,即src目錄的上一級(jí)目錄,不需要具體到src目錄和src下面的目錄。
- 前端代碼保存路徑:前端代碼的存放路徑,到具體前端代碼的根目錄即可。
- 頁(yè)面文件目錄自定義: 前端代碼默認(rèn)放到views目錄下,不設(shè)置的話會(huì)使用服務(wù)請(qǐng)求和模塊代碼兩級(jí)字段開始生成目錄,如果需要大的區(qū)分,這里可以再設(shè)置一級(jí)目錄。
- 生成類型:有些代碼生成可能只有接口,或者只想重新生成頁(yè)面代碼,那么這里可以選擇是全部生成,還是只生成后端代碼或前端代碼。
- 狀態(tài)處理:具體業(yè)務(wù)模塊中,狀態(tài)是一個(gè)常用的字段,如果要生成的代碼有狀態(tài)字段,那么這里可以選擇是否生成對(duì)狀態(tài)相關(guān)操作代碼。
- 支持導(dǎo)出:配置該模塊是否有導(dǎo)出功能。
- 支持導(dǎo)入:配置該模塊是否有導(dǎo)入功能。
- 聯(lián)表類型:配置該模塊在操作時(shí),是進(jìn)行多表操作還是單表操作。
- 查詢復(fù)用:代碼中列表查詢(分頁(yè)或不分頁(yè))和單條記錄查詢可以使用同一條sql,基于性能方面考慮,這里可以選擇是生成單獨(dú)的查詢方法,還是復(fù)用同一個(gè)查詢方法。
2、配置代碼生成規(guī)則
??在已建好的代碼配置列表中點(diǎn)擊"配置規(guī)則"按鈕,進(jìn)入到代碼生成規(guī)則配置頁(yè)面。如果在上一步中選擇的是多表查詢,那么這里會(huì)進(jìn)入多表配置界面,如果選擇的是單表,那么這里直接進(jìn)入字段配置界面。
- 配置聯(lián)表
- 多表配置列表

- 多表配置表單

配置參數(shù)說明
- 表名 : 選擇相同數(shù)據(jù)源下的表。
- 別名 : 聯(lián)表查詢時(shí),mapper.xml里面SQL語(yǔ)句的表別名。
- 表前綴 : 去除系統(tǒng)和模塊標(biāo)識(shí),只保留實(shí)體名稱。
- 排序 : 顯示排序及在SQL查詢時(shí)的排序。
- 聯(lián)表方式 : 表連接方式,LEFT JOIN、RIGHT JOIN、INNER JOIN、UNION、UNION ALL等
- 查詢字段 : 此表需要查詢的字段
- 自定義on條件: 需要和主表關(guān)聯(lián)的字段及自定義的條件
- 配置字段

配置參數(shù)說明
- 字段描述 : 獲取數(shù)據(jù)表的描述信息,用于字段名稱和展示在頁(yè)面字段的label。
- 字段類型 : 自動(dòng)轉(zhuǎn)換數(shù)據(jù)庫(kù)定義的字段類型為JAVA對(duì)應(yīng)的字段類型。
- 字段名稱 : 實(shí)體類里面字段的定義。
- 配置表單

配置參數(shù)說明
- 表單新增 : 字段是否展示在界面的新增表單。
- 表單編輯 : 字段是否展示在界面的編輯表單。
- 組件類型 : 字段展示在界面的類型,INPUT、SELECT、CHECKBOX等。
- 字典編碼 : 當(dāng)字段的組件類型為選擇類型時(shí),提供選擇的填充數(shù)據(jù)。此數(shù)據(jù)來(lái)自業(yè)務(wù)字典。
- 配置表單校驗(yàn)

配置參數(shù)說明
- 最小長(zhǎng)度 : 字段的最小長(zhǎng)度,初始值來(lái)自數(shù)據(jù)庫(kù)字段定義。
- 最大長(zhǎng)度 : 字段的最大長(zhǎng)度,初始值來(lái)自數(shù)據(jù)庫(kù)字段定義。
- 是否必填 : 字段是否必填。
- 是否唯一 : 字段是否唯一,如果配置為唯一,那么在表單新增或編輯時(shí)會(huì)自動(dòng)生成校驗(yàn)方法。
- 校驗(yàn)類型 : 選擇已配置的通用正則表達(dá)式。
- 正則表達(dá)式 : 對(duì)于非通用的特殊字段,可以自定義正則表達(dá)式。
- 最大值 : 當(dāng)字段為數(shù)值類型時(shí),字段的最大值,初始值來(lái)自數(shù)據(jù)庫(kù)字段定義。
- 最小值 : 當(dāng)字段為數(shù)值類型時(shí), 字段的最小值,初始值來(lái)自數(shù)據(jù)庫(kù)字段定義。
- 配置數(shù)據(jù)展示列表

配置參數(shù)說明
- 查詢條件 : 是否是查詢條件,展示在界面的查詢條件區(qū)域。
- 查詢類型 : 字段的查詢類型,等于、不等于、大于、小于等。
- 列表展示 : 是否展示在查詢結(jié)果的數(shù)據(jù)表格中。
- 支持導(dǎo)入 : 字段是否支持導(dǎo)入,在代碼配置中支持導(dǎo)入時(shí),此字段生效。
- 支持導(dǎo)出 : 字段是否支持導(dǎo)出,在代碼配置中支持導(dǎo)出時(shí),此字段生效。
- 完成保存配置,在列表中點(diǎn)擊生成代碼按鈕,生成代碼。

六、配置資源權(quán)限
??執(zhí)行完代碼生成操作之后,會(huì)在后臺(tái)代碼的mapper.xml同級(jí)目錄生成一個(gè)同名的.sql文件,這里面是訪問新生成代碼模塊的資源菜單權(quán)限腳本。
GitEgg-Cloud是一款基于SpringCloud整合搭建的企業(yè)級(jí)微服務(wù)應(yīng)用開發(fā)框架,開源項(xiàng)目地址:
Gitee: https://gitee.com/wmz1930/GitEgg
GitHub: https://github.com/wmz1930/GitEgg
歡迎感興趣的小伙伴Star支持一下。