SpringCloud微服務實戰——搭建企業級開發框架(三十二):程式碼生成器使用配置說明

全棧程式猿發表於2021-12-09

一、新建資料來源配置

因考慮到多資料來源問題,程式碼生成器作為一個通用的模組,後續可能會為其他工程生成程式碼,所以,這裡不直接讀取系統工程配置的資料來源,而是讓使用者自己維護。

新建資料來源

引數說明

  • 資料來源名稱:用於查詢區分資料來源的名稱
  • 連線地址 : 連線方式:資料庫型別:資料庫地址等引數,例:jdbc:mysql://127.0.0.1/gitegg_cloud?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&all owMultiQueries=true&serverTimezone=Asia/Shanghai
  • 使用者名稱:登入資料庫的使用者名稱
  • 密碼:登入資料庫的密碼
  • 資料庫驅動:資料庫驅動型別,例:com.mysql.jdbc.Driver(MySQL5 )或 com.mysql.cj.jdbc.Driver(MySQL8 )
  • 資料庫型別:選擇對應的資料庫型別,如果有新增可以新增資料字典
  • 備註:備註資訊

二、新建業務資料字典

介面的增刪改查介面會有一些資料字典的下拉框或者單選、多選等基礎資料,這些根據具體需要生成程式碼的表設計提前做好規劃,在業務字典中提前建好資料字典。在自定型別表,點選一條記錄所在的行即是選中,右側字典值列表會出現對應的字典值列表。

業務字典

三、程式碼生成的基礎配置

程式碼生成的基礎配置實際也是一類資料字典,但這是隻針對程式碼生成功能模組使用的資料字典,比如在介面上選擇的資料庫型別、表單展現型別、樹型別等、都是獲取這裡的配置資料。在實際應用開發過程中,可以根據自己的需求進行新增、修改。

基礎配置

四、校驗規則配置

在我們業務開發過程中,無論是介面還是介面,都會對資料欄位的長度、大小、型別等進行校驗,這裡的配置主要是配置資料欄位校驗的正規表示式,在程式碼生成時,會在前端程式碼和後臺程式碼新增校驗方法進行資料校驗。

正規表示式校驗規則

五、程式碼配置(重點)

程式碼配置是實際程式碼生成的重點,以上幾項配置都是為程式碼生成做前期準備工作,程式碼配置模組是實際的針對業務表進行配置,最終生成程式碼。

1、 新建程式碼配置

新增程式碼配置

配置引數說明
  • 資料來源 :選擇我們上面配置的需要生成程式碼的資料庫。
  • 模組名稱:需要生成程式碼的模組名稱,這個名稱將用作選單名稱、系統提示等。
  • 模組程式碼:系統在生成程式碼時會根據模組程式碼新建對應名稱的目錄,進行存放該模組的程式碼。
  • 服務名稱:微服務註冊到Nacos上的名稱,框架中這個取得的是微服務pom.xml裡的artifactId配置,在生成程式碼時,微服務名稱將加在請求url的前面,請一定確認這個欄位的正確性,否則訪問不到後臺服務。
  • 表名 : 需要生成程式碼的表。
  • 表別名 :在生成多表聯合程式碼時,這個作為表的別名在查詢語句的mapper檔案中使用。
  • 表字首 :在我們定義表時,t_程式碼是表(table的首字母),下劃線後面程式碼子系統的名稱,再後面是模組名稱,那麼在我們生成程式碼時,前面的字首需要去掉,只保留模組名稱,即生成程式碼時的實體類名稱。
  • 父級包名:定義生成模組程式碼的包路徑,程式碼將存放在這個包名下。
  • 表單型別:在進行增刪查改時的展現方式,有彈出框、新開啟一個頁面、右側伸縮抽屜等形式
  • 表單列數:定義表單欄位在表裡每行展示幾列
  • 資料展示:配置資料查詢列表的展示形式,有表格、樹等形式
  • 左樹型別: 當資料展示形式包含左側樹時,這裡可以選擇左側樹的資料型別
  • Controller請求路徑:配置在Controller程式碼中的 @RequestMapping 引數,即模組的請求路徑
  • 後端程式碼儲存路徑:後端程式碼的存放路徑,到具體微服務的根目錄即可,即src目錄的上一級目錄,不需要具體到src目錄和src下面的目錄。
  • 前端程式碼儲存路徑:前端程式碼的存放路徑,到具體前端程式碼的根目錄即可。
  • 頁面檔案目錄自定義: 前端程式碼預設放到views目錄下,不設定的話會使用服務請求和模組程式碼兩級欄位開始生成目錄,如果需要大的區分,這裡可以再設定一級目錄。
  • 生成型別:有些程式碼生成可能只有介面,或者只想重新生成頁面程式碼,那麼這裡可以選擇是全部生成,還是隻生成後端程式碼或前端程式碼。
  • 狀態處理:具體業務模組中,狀態是一個常用的欄位,如果要生成的程式碼有狀態欄位,那麼這裡可以選擇是否生成對狀態相關操作程式碼。
  • 支援匯出:配置該模組是否有匯出功能。
  • 支援匯入:配置該模組是否有匯入功能。
  • 聯表型別:配置該模組在操作時,是進行多表操作還是單表操作。
  • 查詢複用:程式碼中列表查詢(分頁或不分頁)和單條記錄查詢可以使用同一條sql,基於效能方面考慮,這裡可以選擇是生成單獨的查詢方法,還是複用同一個查詢方法。
2、配置程式碼生成規則

在已建好的程式碼配置列表中點選"配置規則"按鈕,進入到程式碼生成規則配置頁面。如果在上一步中選擇的是多表查詢,那麼這裡會進入多表配置介面,如果選擇的是單表,那麼這裡直接進入欄位配置介面。

  1. 配置聯表
  • 多表配置列表

多表配置列表

  • 多表配置表單

多表配置表單

配置引數說明
  • 表名 : 選擇相同資料來源下的表。
  • 別名 : 聯表查詢時,mapper.xml裡面SQL語句的表別名。
  • 表字首 : 去除系統和模組標識,只保留實體名稱。
  • 排序 : 顯示排序及在SQL查詢時的排序。
  • 聯表方式 : 表連線方式,LEFT JOIN、RIGHT JOIN、INNER JOIN、UNION、UNION ALL等
  • 查詢欄位 : 此表需要查詢的欄位
  • 自定義on條件: 需要和主表關聯的欄位及自定義的條件
  1. 配置欄位

欄位配置

配置引數說明
  • 欄位描述 : 獲取資料表的描述資訊,用於欄位名稱和展示在頁面欄位的label。
  • 欄位型別 : 自動轉換資料庫定義的欄位型別為JAVA對應的欄位型別。
  • 欄位名稱 : 實體類裡面欄位的定義。
  1. 配置表單

表單配置

配置引數說明
  • 表單新增 : 欄位是否展示在介面的新增表單。
  • 表單編輯 : 欄位是否展示在介面的編輯表單。
  • 元件型別 : 欄位展示在介面的型別,INPUT、SELECT、CHECKBOX等。
  • 字典編碼 : 當欄位的元件型別為選擇型別時,提供選擇的填充資料。此資料來自業務字典。
  1. 配置表單校驗

表單校驗

配置引數說明
  • 最小長度 : 欄位的最小長度,初始值來自資料庫欄位定義。
  • 最大長度 : 欄位的最大長度,初始值來自資料庫欄位定義。
  • 是否必填 : 欄位是否必填。
  • 是否唯一 : 欄位是否唯一,如果配置為唯一,那麼在表單新增或編輯時會自動生成校驗方法。
  • 校驗型別 : 選擇已配置的通用正規表示式。
  • 正規表示式 : 對於非通用的特殊欄位,可以自定義正規表示式。
  • 最大值 : 當欄位為數值型別時,欄位的最大值,初始值來自資料庫欄位定義。
  • 最小值 : 當欄位為數值型別時, 欄位的最小值,初始值來自資料庫欄位定義。
  1. 配置資料展示列表

列表配置

配置引數說明
  • 查詢條件 : 是否是查詢條件,展示在介面的查詢條件區域。
  • 查詢型別 : 欄位的查詢型別,等於、不等於、大於、小於等。
  • 列表展示 : 是否展示在查詢結果的資料表格中。
  • 支援匯入 : 欄位是否支援匯入,在程式碼配置中支援匯入時,此欄位生效。
  • 支援匯出 : 欄位是否支援匯出,在程式碼配置中支援匯出時,此欄位生效。
  1. 完成儲存配置,在列表中點選生成程式碼按鈕,生成程式碼。

執行生成程式碼操作

六、配置資源許可權

執行完程式碼生成操作之後,會在後臺程式碼的mapper.xml同級目錄生成一個同名的.sql檔案,這裡面是訪問新生成程式碼模組的資源選單許可權指令碼。

原始碼地址:

Gitee: https://gitee.com/wmz1930/GitEgg

GitHub: https://github.com/wmz1930/GitEgg

相關文章