前言
在前一篇《普元EOS學習筆記-創建精簡應用》中,我已經創建了EOS精簡應用。
我之前說過,EOS精簡應用就是自己創建的EOS精簡版,該項目中,開發者可以進行低代碼開發,也可以進行高代碼開發。
本文我就記錄一下自己在EOS精簡應用下進行低開的過程,實現圖書信息的簡單的增刪改查的功能。
另外,普元EOS最新版8.3.1發布了,從本文開始,將采用EOS8.3.1作為開發工具。
需求
需求比較簡單,這也不是真實的項目,是對圖書分類和圖書信息進行增刪改查。
圖書分類的關鍵字段:id (主鍵) 、typeName(分類名稱)?
圖書的關鍵字段: id(主鍵)、 typeId(分類ID)、 bookTitle(圖書標題)、bookAuth(作者)?
功能1 : 對圖書分類進行增刪改、列表
功能2: 對圖書進行增刪改、列表
功能3:圖書列表支持對圖書名稱、分類篩選的查詢。
功能4: 刪除圖書分類的時候,如果圖書分類下有圖書,要提示無法刪除。
就這么簡單的功能吧。
這里埋一個坑,這個圖書系列的我后面會寫幾篇文章,這是第一篇,我最終是希望用EOS寫一個簡單的公司圖書閱覽室的借閱管理的軟件。
數據結構設計
圖書分類(bk_type)
drop table if exists bk_type;CREATE TABLE `bk_type` (`id` varchar(32) NOT NULL,`type_name` varchar(32) NOT NULL COMMENT '圖書分類名稱',`create_time` datetime NOT NULL COMMENT '新增時間',`create_user` varchar(64) NOT NULL COMMENT '新增用戶',`update_time` datetime DEFAULT NULL COMMENT '最后更新時間',`update_user` varchar(64) DEFAULT NULL COMMENT '最后更新人',`sort_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序號',`version` int(11) NOT NULL DEFAULT '1' COMMENT '樂觀鎖',PRIMARY KEY (`id`),UNIQUE KEY `unq_type_name` (`type_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
圖書信息(t_book_info):
drop table if exists bk_book_info ;CREATE TABLE `bk_book_info` (`id` varchar(32) NOT NULL,`book_name` varchar(128) NOT NULL COMMENT '圖書名稱',`book_auth` varchar(128) DEFAULT NULL COMMENT '圖書作者',`book_type_id` varchar(32) DEFAULT NULL COMMENT '圖書類型id',`create_time` datetime NOT NULL COMMENT '新增時間',`create_user` varchar(64) NOT NULL COMMENT '新增用戶',`update_time` datetime DEFAULT NULL COMMENT '最后更新時間',`update_user` varchar(64) DEFAULT NULL COMMENT '最后更新人',`sort_no` int(11) NOT NULL DEFAULT '0' COMMENT '順序編號',`version` int(11) NOT NULL DEFAULT '1' COMMENT '樂觀鎖',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
表信息就不解釋了,看注釋都能看明白。
創建和啟動精簡應用
這個功能不再贅述了,見前一篇《普元EOS學習筆記-創建精簡應用》
本文創建的精簡應用的名稱是 express10 ,項目端口是 28010 。
因此,項目啟動后,可以在瀏覽器輸入地址?http://127.0.0.1:28010/?訪問。
接下來登錄,賬號密碼是 admin 和 000000 ,默認密碼是 000000,第一次登錄會提示修改密碼。
首先打開的是 工作臺窗口,點擊工作臺,選擇開發中心,進入到開發中心。
什么是工作臺?
工作臺其實不用解釋,就是主操作頁面,列出了工作日歷、待辦等若干窗口。
什么是開發中心?
EOS的開發中心是進入EOS的低開界面,是一個基于web界面的ide。
在開發中心可以通過拖拉拽的方式進行表單設計、實現增刪改查、服務編排、流程設計等。
服務編排是比較牛的功能。我們知道,軟件開發就是寫代碼執行循環判斷,然后調用各種類庫的方法。這些功能,在EOS中可以通過服務編排來實現,類似拖拉拽生成一個流程,將程序執行的循環、判斷、調用類庫這些集成在一個流程中實現。
流程設計實現了工作流,EOS的子產品BPS實現了工作流引擎,在開發中心的ide中可以進行工作流程圖的編排。
在開發中心的主頁面,如下所示,點擊開發按鈕,進入低開ide。
下圖是普元EOS低開ide界面。
開始圖書分類的增刪改查
接下來,就在EOS低開ide下進行圖書分類的增刪改查。
1 創建構建包
在左側上方點擊“新建構建包”按鈕,將打開新建構建包的功能。
1.1 什么是構建包呢?
EOS的構建包可以理解為maven項目中的子模塊,比如我們創建的express10項目,下面有4個構建包分別是 api? boot? core? 和 model? (大家知道,我省略了 com.primeton.eos.express10 這個統一前綴)?
所以,可以看出來,構建包應該是maven的子模塊。
至于EOS的低開ide中創建的構建包如何與 express10進行對應,這里不做詳細講解,以后用到了在實踐中理解。
構建包創建后,左側可以看到構建包的菜單
與express10下的model構建包比較一下
低開ide中的實體包下存放數據表的數據實體,在model模塊中是數據包下存放的也是數據實體。
低開ide中的頁面包存放的是拖拉拽生成的頁面,這個高開ide的項目中是沒有的,高開要創建頁面,是需要額外的工具開發頁面的。
低開ide中的流程包與高開ide項目下的流程包是一樣的,都是存放流程圖的。
低開ide中的服務包對應的是高開ide項目下的EOS服務+構件,是通過流程圖拖拉拽實現服務編排的功能。
大概了解一下構建包的概念就行了,我們進入下一步。
2 查看圖書分類的數據源
在頁面的右側可以看到有一個數據源標簽,點擊可以看到default數據源下的數據表。
default數據源:在項目boot下的user-config.xml中配置的default數據源。
注意:EOS是支持多數據源的,如果配置了多數據源,在這里會看到多個數據源。
可以看到數據源右側有個閉著的眼睛,點開就可以看到數據源的所有數據表,閉眼后,只顯示自己創建的數據表,eos自有的數據表是不顯示的。
3 創建實體集
在實體菜單右鍵,然后點擊“新建實體集”,打開創建實體集的窗口。實體集就當做是數據實體的集合。
實體集窗口下,可以將數據表拖拽進來。
4 從圖書分類實體生成頁面
在新拖拽生成的圖書分類實體上右鍵,點擊生成頁面。
接下來,就可以看到新增頁面,和圖書分類的列表頁面。
在之后的可測試新增、編輯、刪除等操作。
遺留問題
1 主鍵生成方式,是順序值,我個人習慣用uuid做主鍵,如何用uuid來生成主鍵呢?
2 這里有個樂觀鎖的字段 version,是什么意思?怎么用?
3 create_time? create_user? update_time? update_user 這些字段會自動賦值,如何做到的?
這些問題以后我再說明吧。
這篇文章就到這里吧。