《若依ruoyi》第十一章:Ruoyi 代碼生成工具詳解-操作界面(若依生成代碼怎么放)
在Java開(kāi)發(fā)工具中Java代碼自動(dòng)生成工具是很常見(jiàn)的,代碼生成是模型驅(qū)動(dòng)開(kāi)發(fā)中最簡(jiǎn)單和最常用的技術(shù)。我們使用一個(gè)信息源,一種模型形式,并將其與一些模板結(jié)合起來(lái)以獲得生成的工件,例如代碼。
代碼生成是進(jìn)入更高級(jí)技術(shù)的有用的入門級(jí)步驟。因此,認(rèn)為創(chuàng)建簡(jiǎn)單的代碼生成平臺(tái)以降低新用戶的進(jìn)入門檻非常重要。
一、創(chuàng)建數(shù)據(jù)庫(kù)表
1.首先我們先創(chuàng)建一張數(shù)據(jù)庫(kù)表。
CREATE TABLE `tm_base_area` ( `ID` bigint(20) NOT null COMMENT 'ID', `AREA_NAME` varchar(255) DEFAULT NULL COMMENT '區(qū)域名稱', `AREA_CODE` varchar(255) DEFAULT NULL COMMENT '區(qū)域編碼', `PROVINCE_CODE` varchar(255) DEFAULT NULL COMMENT '省份編碼', `PROVINCE_NAME` varchar(255) DEFAULT NULL COMMENT '省份名稱', PRIMARY KEY (`ID`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='區(qū)域編碼表';
二、配置生成代碼
1.登錄ruoyi管理后臺(tái),找到代碼生成菜單
系統(tǒng)工具-》代碼生成
3.點(diǎn)擊導(dǎo)入按鈕上面創(chuàng)建的數(shù)據(jù)庫(kù)表,在列表顯示記錄,則表示已經(jīng)導(dǎo)入成功
4.點(diǎn)擊列表記錄右側(cè)到編輯按鈕,進(jìn)入編輯界面。
編輯界面包含三個(gè)tag信息,分別是基本信息,字段信息,生成信息。
一)、基本信息:包含表名稱,表描述,實(shí)體類名稱,作者,備注。改信息直接從數(shù)據(jù)庫(kù)表描述獲取
二)、字段信息:將數(shù)據(jù)庫(kù)表字段信息顯示出來(lái),其中java類型和java屬性是指生成的實(shí)體對(duì)象的數(shù)據(jù)類型。
1)數(shù)據(jù)類型可選擇Long,String,Integer,Double,BigDecimal,Date,Boolean。根據(jù)實(shí)際情況選擇對(duì)應(yīng)的數(shù)據(jù)類型
2)插入/編輯/列表/查詢列:分別對(duì)應(yīng)新增頁(yè)面,編輯頁(yè)面,列表頁(yè)面,查詢頁(yè)面顯示到字段,打勾表示在新增的界面顯示,用戶可以輸入該字段信息,不打勾表示界面不現(xiàn)實(shí)該字段。
3)查詢方式是指頂部搜索字段,搜索條件可以包含等于,like,不等于,大于等
4)顯示類型是指界面顯示前,先調(diào)用指定封裝的函數(shù)進(jìn)行數(shù)據(jù)處理處理,處理完后的結(jié)果顯示在界面。例如該字段是時(shí)間,假設(shè)選擇日期控件,那么在新增和編輯的界面,界面顯示的日期控件,用戶可以選擇對(duì)應(yīng)的日期作為輸入。
5)字典類型:該字段顯示數(shù)據(jù)庫(kù)配置好的字典,該數(shù)據(jù)來(lái)源對(duì)應(yīng)數(shù)據(jù)庫(kù)sys_dict_type表。
三)、生成信息
內(nèi)容包括:生成模版,生成包路徑,生成模版名,生成業(yè)務(wù)名,生成功能名,上級(jí)菜單,生成代碼方式
生成模版:包含單表,樹(shù)表,主子表
生成路徑:生成在哪個(gè)java包下,例如 com.ruoyi.system
生成模塊名:可理解為子系統(tǒng)名,例如 system
生成業(yè)務(wù)名:可理解為功能英文名,例如 user
生成功能名:用作類描述,例如 用戶
上級(jí)菜單:分配到指定菜單下,例如 系統(tǒng)管理
生成代碼方式:默認(rèn)為zip壓縮包下載,也可以自定義生成路徑
三、生成代碼
配置好上面的配置,可以點(diǎn)擊保存,
在代碼生成列表右側(cè),點(diǎn)擊代碼生成
下載的代碼目錄結(jié)構(gòu),areaMenu.sql(數(shù)據(jù)權(quán)限,在mysql數(shù)據(jù)庫(kù)中執(zhí)行),main(java代碼)vue(前端代碼)
將java的代碼和vue對(duì)代碼復(fù)制到項(xiàng)目。在數(shù)據(jù)庫(kù)執(zhí)行權(quán)限腳步
-- 菜單 SQLinsert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)values('移動(dòng)區(qū)域編碼', '1', '1', 'area', 'system/area/index', 1, 0, 'C', '0', '0', 'system:area:list', '#', 'admin', sysdate(), '', null, '移動(dòng)區(qū)域編碼菜單');-- 按鈕父菜單IDSELECT @parentId := LAST_INSERT_ID();-- 按鈕 SQLinsert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)values('移動(dòng)區(qū)域編碼查詢', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'system:area:query', '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)values('移動(dòng)區(qū)域編碼新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'system:area:add', '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)values('移動(dòng)區(qū)域編碼修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'system:area:edit', '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)values('移動(dòng)區(qū)域編碼刪除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'system:area:remove', '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)values('移動(dòng)區(qū)域編碼導(dǎo)出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'system:area:export', '#', 'admin', sysdate(), '', null, '');
重啟應(yīng)用
四、成功展示
退出管理界面,重新登錄,菜單生效
五、未來(lái)計(jì)劃
1、ruoyi非分離版本拆解
2、ruoyi-vue-pro:講解工作流
3、ruoyi-vue-pro:支付模塊,電商模塊
4、基于ruoyi-vue-pro項(xiàng)目開(kāi)發(fā)
5、JEECG低代碼開(kāi)發(fā)平臺(tái)
請(qǐng)關(guān)注我,本星球會(huì)持續(xù)推出更多的開(kāi)源項(xiàng)目代碼解析,如有更好的意見(jiàn)請(qǐng)留言回復(fù)或者私信