SpringCloud微服務(wù)實(shí)戰(zhàn)——搭建企業(yè)級(jí)開發(fā)框架(三十二):代碼生成器使用配置說明

一、新建數(shù)據(jù)源配置

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

新建數(shù)據(jù)源

參數(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)的字典值列表。

業(yè)務(wù)字典

三、代碼生成的基礎(chǔ)配置

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

基礎(chǔ)配置

四、校驗(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)。

正則表達(dá)式校驗(yàn)規(guī)則

五、代碼配置(重點(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)入字段配置界面。

  1. 配置聯(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)的字段及自定義的條件
  1. 配置字段
字段配置
配置參數(shù)說明
  • 字段描述 : 獲取數(shù)據(jù)表的描述信息,用于字段名稱和展示在頁(yè)面字段的label。
  • 字段類型 : 自動(dòng)轉(zhuǎn)換數(shù)據(jù)庫(kù)定義的字段類型為JAVA對(duì)應(yīng)的字段類型。
  • 字段名稱 : 實(shí)體類里面字段的定義。
  1. 配置表單
表單配置
配置參數(shù)說明
  • 表單新增 : 字段是否展示在界面的新增表單。
  • 表單編輯 : 字段是否展示在界面的編輯表單。
  • 組件類型 : 字段展示在界面的類型,INPUT、SELECT、CHECKBOX等。
  • 字典編碼 : 當(dāng)字段的組件類型為選擇類型時(shí),提供選擇的填充數(shù)據(jù)。此數(shù)據(jù)來(lái)自業(yè)務(wù)字典。
  1. 配置表單校驗(yàn)
表單校驗(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ù)字段定義。
  1. 配置數(shù)據(jù)展示列表
列表配置
配置參數(shù)說明
  • 查詢條件 : 是否是查詢條件,展示在界面的查詢條件區(qū)域。
  • 查詢類型 : 字段的查詢類型,等于、不等于、大于、小于等。
  • 列表展示 : 是否展示在查詢結(jié)果的數(shù)據(jù)表格中。
  • 支持導(dǎo)入 : 字段是否支持導(dǎo)入,在代碼配置中支持導(dǎo)入時(shí),此字段生效。
  • 支持導(dǎo)出 : 字段是否支持導(dǎo)出,在代碼配置中支持導(dǎo)出時(shí),此字段生效。
  1. 完成保存配置,在列表中點(diǎn)擊生成代碼按鈕,生成代碼。
執(zhí)行生成代碼操作

六、配置資源權(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支持一下。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容