一、簡介
jeesite提供了配套的代碼生成功能,內置了三種生成方案:
樹結構:
單表:
主子表:
三種方案對應的測試表:
其實還有兩種方式如下:
僅持久層不生成jsp頁面,只生成dao/entity/mapper,而左樹右表頁面如下所示:
二、使用
下面將使用代碼生成功能實現一些功能如下:
jeesite代碼生成要想使用,就必須先創建表,然后對該表進行生成,如果是單表的話,必須要包含以下字段:
如果是一對多,則必須要包含以下字段:
還有就是要配置代碼生成的目錄,在jeesite.properties中修改以下配置來指定目錄:
- projectPath=D\:\\workspace\\jeesite
2.1、單表
這里以一個用戶表來演示,首先創建一個用戶表test_user,包含上面列出的必須包含的字段
2.1.2、配置表並生成代碼
然后在業務表配置中選擇該表
然后點擊下一步,進入以下頁面
以下說明摘之自帶的手冊:
l 表名:物理表表名
l 說明:物理表表描述
l 類名:生成表關聯的實體類名稱
l 父表表名:關聯父表的表名,外鍵:當前表關聯父表的主鍵,如果當前表為子表,需在此指定父表及外鍵。外鍵字段需在字段列表中手動設置屬性名(對象.主鍵,例如:將userId修改為user.id)
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 排序:字段生成的先后順序,升序。
上面已經說得很清楚了,主要對以下字段列表進行簡單的說明:'
(a)、編輯:
主要體現在
對表單進行編輯時是否可編輯。
注意:
以下字段默認是不可編輯的
(b)、列表:
是否顯示在表格中
如果去掉的話,就不會顯示。
(c)、查詢:
是否可查詢,如果能查詢,按查詢匹配方式中的條件來查詢,如下圖所示:
(D)、字典類型
正如上面所說的,如果字段生成方案為:下拉框、復選框、單選框,則該字段必須指定一個字典類型,字典類型為字段管理中的字典類型。 比如性別,有男女,就可以用下拉框,然后設置字典類型為sex。
修改好之后,然后點擊保存。在生成方案中新建生成方案,用戶方案
選擇模板為單表,業務表名為test_user表。然后點擊保存並生成代碼,生成功之后如下:
復制以下文件到項目中去
2.1.3、配置菜單
然后重啟tomcat,在jeesite中配置相應的操作菜單
修改好之后點擊保存,然后在該菜單目錄下新建查看與編輯菜單
注意其中可見屬性:
這里以他自帶的代碼生成中的單表菜單來演示其中的區別:
他這里默認是主菜單是顯示的子菜單是隱藏的,效果是這樣的
如果把它設置成為顯示的話
則是這樣的
2.1.3、分配權限
這里用的是管理員賬號,所有直接在角色管理中

為他分配用戶管理菜單的操作權限
分配好之后點擊保存,然后退出/登錄下就可以了。
然后點擊添加用戶,測試下功能
點擊保存,之后,如下所示
這就是一個簡單的單表示例。
2.2、主從表
主從表和上面的操作差不多,只不過,這里多了個子表,這里還是以上面的用戶表來演示,一對多的關系,一個用戶有多個銀行卡號
首先創建一張字表test_user_idcard表
然后在業務表配置中進行配置
在子表中配置主表的一些信息
注意: 其中的主表關聯id要寫成(主表.id)
然后點擊保存,修改用戶生成方案的模板為一對多
注意: 生成方案之后設置主表的就可以了,子表的不需要設置
然后點擊保存並生成代碼,生成的代碼如下
其中用戶實體類中有個卡的list集合
而在卡實體類中有個用戶
把這些代碼復制到項目中去,配置步驟和上面一樣,效果如下:
然后點擊fendo,進入以下頁面
對卡號進行新增操作。。
2.3、樹結構
樹結構的代碼生成和上面的差不多,就是在模板哪里選擇樹結構就行了
效果如下所示
2.4、左樹右表
jeesite提供了左樹右表功能,但是並不能直接使用,因為此功能還不是很完善。但是可以通過他自帶的左樹右表如下圖所示
這個示例來參考實現。這個頁面在sys/userIndex.jsp中,其中他引入了treeview.jsp
在treeview.jsp中引入了ztree來實現左樹右表
- <link href="${ctxStatic}/jquery-ztree/3.5.12/css/zTreeStyle/zTreeStyle.min.css" rel="stylesheet" type="text/css"/>
- <script src="${ctxStatic}/jquery-ztree/3.5.12/js/jquery.ztree.all-3.5.min.js" type="text/javascript"></script>
2.5、僅持久層
在模板中選擇僅持久層
生成的代碼中沒有jsp頁面。