1. 程式人生 > >第4章 程式碼生成器的應用

第4章 程式碼生成器的應用

4章 程式碼生成器的應用


操作步驟

使用ERMaster建立資料模型(1.1節)

進入程式碼生成模組,新增業務表配置(1.2節)

進入程式碼生成模組,新增生成方案配置並生成程式碼(1.3節)

根據生成程式碼的Controller,配置選單和許可權(1.4節)

1.1 資料模型

進行資料庫設計,建表。遇見欄位需要儲存中文字元的時候要用nvarchar,不要用varchar

自己建立表模型是請拷貝一份db/test/jeesite.erm”檔案,在此模型基礎上建立自己的業務表即可。

1.1.1 業務表必須包含的欄位

紅框內為必須有的欄位:

 

1.1.2 一對多必須包含的欄位

紅框內為必須有的欄位:


1.1.3 樹結構必須包含的欄位

紅框內為必須有的欄位:


1.1.4 快速新增必須包含的欄位

test/jeesite.erm檔案中已內建兩個欄位組,分別是commontree_field,在表編輯介面中可快速選擇並新增相應欄位,如下圖:

 

1.2 業務表配置

1.2.1 第一步,選擇表

 

1.2.2 第二步,配置表

 

表名:物理表表名

說明:物理表表描述

類名:生成表關聯的實體類名稱

父表表名:關聯父表的表名,外來鍵:當前表關聯父表的主鍵,如果當前表為子表,需在此指定父表及外來鍵。外來鍵欄位需在欄位列表中手動設定屬性名(物件.主鍵,例如:將

userId修改為user.id

列名:資料表定義的欄位名稱

說明:資料表定義的欄位註釋

物理型別:資料表定義欄位型別

l Java型別:實體物件的屬性欄位型別

l Java屬性名稱:實體物件的屬性欄位(物件名.屬性名|屬性名2|屬性名3,例如:使用者user.id|name|loginName,屬性名2和屬性名3Join時關聯查詢的欄位)

主鍵:是否是主鍵欄位

可空:該欄位是否可為空

插入:是否是插入欄位,如果是則包含在insert語句裡

編輯:是否是編輯欄位,如果是則包含在update語句裡

列表:是否是列表查詢,如果是則包含在列表頁的表格列裡。

查詢:是否是查詢欄位,如果是則包含在查詢頁的查詢列表裡。

查詢方式:查詢欄位的查詢方式,也就是where後的條件表示式,如:欄位1=欄位2  AND  欄位3>欄位4  AND  欄位5 !=欄位6

欄位生成方案:表單中欄位生成的樣式,如:inputselecttreeselectareatext等等

字典型別:如果欄位生成方案為:下拉框、複選框、單選框,則該欄位必須指定一個字典型別,字典型別為欄位管理中的字典型別。

排序:欄位生成的先後順序,升序。

1.3 生成方案配置

 

方案名稱:自定的方案名稱,隨意寫即可。

模板分類:生成的模板,目前可生成如下模板:增刪改查(單表)、增刪改查(一對多)、僅持久層(dao/entity/mapper)、樹結構表(一體)

生成包路徑:生成哪個包下。

生成模組名:生成包下的模組名稱,模組名稱下進行分層

生成子模組名:分層下的資料夾,可為空。

生成功描述:生成到類註釋裡。

生成功能名:生成功能提示,如TAB上、列表上、提示資訊等。

生成功能作者:開發者姓名

生成選項:是否替換現有檔案,提供重複生成,覆蓋原有檔案。

1.4 選單許可權

根據控制器@RequestMapping@RequiresPermissions新增選單和許可權標誌

1.5 生成示例

匯入db/gen/example_xx.sql”檔案(預設已匯入),將匯入“業務表配置”、“生成方案配置”、“選單許可權”示例資訊,生成程式碼後效果如下:

1.5.1 選單

 

1.5.2 單表

 

 

1.5.3 主子表

 


1.5.4 樹結構

 


1.6 主子表(一對多)注意事項

一對多生成需要配置一個主表,和一個或多個子表。

子表配置需要指定父表表名和外來鍵,如下:


表配置結果,如下:


生成方案中選擇“增刪改查(一對多)”,業務表表名選擇“主表”,如下:


其它操作與單表生成相同。