第4章 程式碼生成器的應用
第4章 程式碼生成器的應用
1 操作步驟
u 使用ERMaster建立資料模型(1.1節)
u 進入程式碼生成模組,新增業務表配置(1.2節)
u 進入程式碼生成模組,新增生成方案配置並生成程式碼(1.3節)
u 根據生成程式碼的Controller,配置選單和許可權(1.4節)
1.1 資料模型
u 進行資料庫設計,建表。遇見欄位需要儲存中文字元的時候要用nvarchar,不要用varchar。
u 自己建立表模型是請拷貝一份“db/test/jeesite.erm”檔案,在此模型基礎上建立自己的業務表即可。
1.1.1 業務表必須包含的欄位
紅框內為必須有的欄位:
1.1.2 一對多必須包含的欄位
紅框內為必須有的欄位:
1.1.3 樹結構必須包含的欄位
紅框內為必須有的欄位:
1.1.4 快速新增必須包含的欄位
在test/jeesite.erm檔案中已內建兩個欄位組,分別是common和tree_field,在表編輯介面中可快速選擇並新增相應欄位,如下圖:
1.2 業務表配置
1.2.1 第一步,選擇表
1.2.2 第二步,配置表
l 表名:物理表表名
l 說明:物理表表描述
l 類名:生成表關聯的實體類名稱
l 父表表名:關聯父表的表名,外來鍵:當前表關聯父表的主鍵,如果當前表為子表,需在此指定父表及外來鍵。外來鍵欄位需在欄位列表中手動設定屬性名(物件.主鍵,例如:將
l 列名:資料表定義的欄位名稱
l 說明:資料表定義的欄位註釋
l 物理型別:資料表定義欄位型別
l Java型別:實體物件的屬性欄位型別
l Java屬性名稱:實體物件的屬性欄位(物件名.屬性名|屬性名2|屬性名3,例如:使用者user.id|name|loginName,屬性名2和屬性名3為Join時關聯查詢的欄位)
l 主鍵:是否是主鍵欄位
l 可空:該欄位是否可為空
l 插入:是否是插入欄位,如果是則包含在insert語句裡
l 編輯:是否是編輯欄位,如果是則包含在update語句裡
l 列表:是否是列表查詢,如果是則包含在列表頁的表格列裡。
l 查詢:是否是查詢欄位,如果是則包含在查詢頁的查詢列表裡。
l 查詢方式:查詢欄位的查詢方式,也就是where後的條件表示式,如:欄位1=欄位2 AND 欄位3>欄位4 AND 欄位5 !=欄位6。
l 欄位生成方案:表單中欄位生成的樣式,如:input,select,treeselect,areatext等等
l 字典型別:如果欄位生成方案為:下拉框、複選框、單選框,則該欄位必須指定一個字典型別,字典型別為欄位管理中的字典型別。
l 排序:欄位生成的先後順序,升序。
1.3 生成方案配置
l 方案名稱:自定的方案名稱,隨意寫即可。
l 模板分類:生成的模板,目前可生成如下模板:增刪改查(單表)、增刪改查(一對多)、僅持久層(dao/entity/mapper)、樹結構表(一體)。
l 生成包路徑:生成哪個包下。
l 生成模組名:生成包下的模組名稱,模組名稱下進行分層。
l 生成子模組名:分層下的資料夾,可為空。
l 生成功描述:生成到類註釋裡。
l 生成功能名:生成功能提示,如TAB上、列表上、提示資訊等。
l 生成功能作者:開發者姓名
l 生成選項:是否替換現有檔案,提供重複生成,覆蓋原有檔案。
1.4 選單許可權
u 根據控制器@RequestMapping及@RequiresPermissions新增選單和許可權標誌
1.5 生成示例
匯入“db/gen/example_xx.sql”檔案(預設已匯入),將匯入“業務表配置”、“生成方案配置”、“選單許可權”示例資訊,生成程式碼後效果如下:
1.5.1 選單
1.5.2 單表
1.5.3 主子表
1.5.4 樹結構
1.6 主子表(一對多)注意事項
一對多生成需要配置一個主表,和一個或多個子表。
子表配置需要指定父表表名和外來鍵,如下:
表配置結果,如下:
生成方案中選擇“增刪改查(一對多)”,業務表表名選擇“主表”,如下:
其它操作與單表生成相同。