天天看點

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

作者:TaskBuilder

資料添加服務設定詳解

資料添加服務名稱命名建議:一般資料添加服務的名稱建議字首為:add,後面可以跟具體資料模型(表或視圖)的名稱,例如:addCpxx。如果目前檔案夾裡的所有服務隻涉及一個資料模型,且在檔案夾裡已包含該資料模型的名稱,則服務名可以不用再展現資料模型名稱,直接用 add 即可。

建立一個空白的背景服務,打開後在業務邏輯設計器中删除預設建立的 終止服務 操作。

從 資料庫操作 中拖拽一個資料添加 操作到業務邏輯設計器上,并點選該操作右側的 設定 按鈕,彈出如下所示對話框:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在該對話框中首先要選擇資料模型,然後在下面的字段清單中選擇需要添加資料的字段,可以點選字段清單标題欄左側的複選框實作全選或取消全選。

在字段值這一列内,可以為各個字段設定獲得該字段值的JavaScript表達式,預設為:req.字段名稱,即表示該字段的值會從用戶端發送過來的、與該字段名稱一緻的請求參數中擷取,也可以設定為其他任意有效的JavaScript表達式,例如:

  • 字元串:'123'
  • 數值:123
  • 日期:new Date()
  • 布爾值:true
  • 表達式:req.cpgg ? req.cpgg : req.cpmc

然後點選确定按鈕,儲存設定。

如果要向用戶端傳回新添加的資料記錄的主鍵值(id,要設定為自動增長),則可以拖拽一個變量指派語句到上面的資料添加操作的子語句區,并進行如下設定:

  • 變量名:設定為 res.id,表示要在服務響應對象裡添加一個名為 id 的參數;
  • 運算符:設定為 = ,表示要給前面的 id 參數指派;
  • 值:設定為 ret.insertId,因為資料添加操作會傳回一個ret對象,裡面有一個insertId參數,對應新添加的資料記錄的id值(id需要設定為自動增長)。

然後拖拽一個 終止服務 語句到上面的變量指派語句後面,最後界面如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

點選頂部工具欄上的 儲存 按鈕,即可完成整個資料添加服務的設定。

然後就可以在前端頁面裡使用表單元件和表單輸入項組合,并通過 背景服務元件(Service)連接配接該服務,進行資料添加操作。

也可以點選背景服務設計器頂部工具欄上的 測試 按鈕,在打開的 背景服務模拟測試工具 内,在上面的請求參數編輯框内輸入測試的請求資料,然後點選 發送請求 按鈕,模拟前端頁面對該服務發起測試請求,并檢視響應結果,如果背景服務傳回錯誤資訊,則根據錯誤内容進行相應修改完善,直到運作成功為止。

資料删除服務設定詳解

資料删除服務名稱命名建議:一般資料删除服務的名稱建議字首為:delete,後面可以跟具體資料模型(表或視圖)的名稱,例如:deleteCpxx。如果目前檔案夾裡的所有服務隻涉及一個資料模型,且在檔案夾裡已包含該資料模型的名稱,則服務名可以不用再展現資料模型名稱,直接用 delete 即可。

從 資料庫操作 中拖拽一個資料删除 操作到業務邏輯設計器上,并點選該操作右側的 設定 按鈕,彈出如下所示對話框:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在該對話框中首先要選擇資料模型,然後在下面的輸入框中輸入删除條件,在删除條件内,可以插入 {req.請求參數} 形式的占位符,在該服務實際執行時,該占位符會被替換為實際的請求參數值。

然後拖拽一個 終止服務 語句到上面資料删除操作的子語句區,最後界面如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

點選頂部工具欄上的 儲存 按鈕,即可完成整個資料删除服務的設定。

然後就可以在前端清單頁面裡使用資料表格元件的删除資料方法,通過 背景服務元件(Service)連接配接該服務,進行資料删除操作。

資料修改服務設定詳解

資料修改服務名稱命名建議:一般資料修改服務的名稱建議字首為:update,後面可以跟具體資料模型(表或視圖)的名稱,例如:updateCpxx。如果目前檔案夾裡的所有服務隻涉及一個資料模型,且在檔案夾裡已包含該資料模型的名稱,則服務名可以不用再展現資料模型名稱,直接用 update 即可。

從 資料庫操作 中拖拽一個資料修改 操作到業務邏輯設計器上,并點選該操作右側的 設定 按鈕,彈出如下所示對話框:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在該對話框中首先要選擇資料模型,然後在下面的字段清單中選擇需要修改資料的字段,可以點選字段清單标題欄左側的複選框實作全選或取消全選。

然後拖拽一個 終止服務 語句到上面資料修改操作的子語句區,最後界面如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

點選頂部工具欄上的 儲存 按鈕,即可完成整個資料修改服務的設定。

然後就可以在前端頁面裡使用表單元件和表單輸入項組合,并通過 背景服務元件(Service)連接配接該服務,進行資料修改操作。

資料查詢服務設定詳解

為了讓大家更深入了解 TaskBuilder 的背景服務設計器,下面帶領大家手動建立一個背景資料查詢服務,不使用向導建立。

首先,在 TaskBuilder 的項目資料總管内,點選項目的 背景服務 節點右側的加号,或者點選背景服務裡檔案夾右側的加号:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

彈出 添加背景資源 對話框,如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在資源名稱輸入框裡輸入背景服務的名稱。

查詢服務名稱命名建議:一般查詢單條資料的服務名建議字首為:get,查詢多條資料的服務名建議字首為:getList,支援翻頁查詢的服務名建議字首為:getDataPage,後面可以跟具體資料模型(表或視圖)的名稱,例如:getCpxx。如果目前檔案夾裡的所有服務隻涉及一個資料模型,且在檔案夾裡已包含該資料模型的名稱,則服務名可以不用再展現資料模型名稱,直接用上面的 get、getList 或 getDataPage 即可。

然後在下面的資源類型清單裡選擇 空白服務 ,然後點 下一步按鈕 按鈕,即可建立一個空白的背景服務, TaskBuilder 會自動打開該服務,如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

建立的空白服務,會預設為 process 方法添加一個 終止服務 的操作,可以點選 終止服務 操作右邊的删除按鈕先将該操作删掉,然後從左側的資料庫操作清單裡,用滑鼠左鍵按住 資料查詢 操作的圓角矩形,并拖拽到右側的業務邏輯設計器内,然後點選該操作右上角的 設定 按鈕,可以打開資料查詢操作的設定視窗,如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在該視窗内,首先需要設定基本資訊,包括:

  • 資料模型:目前查詢對應的資料庫模型(資料庫裡的表或視圖),該參數為必填,不能為空;
  • 翻頁設定:包括是否啟用翻頁、每頁最多顯示多少條記錄,預設不啟用翻頁,如果啟用,預設最多顯示20條記錄;如果是為前端修改頁面查詢單條資料記錄,或者是為下拉清單元件提供清單選項,請不要啟用翻頁;
  • 查詢數量:最多查詢多少條記錄,預設不限制;
  • 重複設定:是否去掉内容重複的記錄,預設不;
  • 查詢結果參數名稱:傳回給用戶端的、包含查詢結果的參數名,預設為:data;如果不翻頁,該參數的類型為數組,數組裡的每個元素都為JSON對象,每個對象對應資料庫的表或視圖裡的一條記錄,該對象的屬性名對應表或視圖的字段名;如果翻頁,傳回的參數類型為JSON對象,格式示例如下:
  • br
  • {br
  • "pageSize": 20, //每頁最多顯示記錄數br
  • "rowsCount": 300, //記錄總數br
  • "pageCount": 15, //頁數br
  • "toPage": 1, //目前頁索引br
  • "rows": [br
  • "field1": value1,br
  • "field2": value2,br
  • ...br
  • },br
  • }br
  • ]br

設定完基本資訊後,點選該對話框頂部頁籤裡的 查詢字段 ,出現如下所示界面:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在該界面裡,會列出在基本資訊裡選擇的資料模型的所有字段,點選某個字段前面的複選框選中該字段後,表示要把該字段的資料從資料庫中查詢出來并傳回給用戶端,可以點選頂部字段清單标題欄最左側的複選框實作全選或取消全選。一般主鍵字段(例如id)建議必須選中,雖然在前端清單頁面裡可能不直接顯示主鍵值,但在每一行裡通過連結關聯跳轉到該行資料的修改頁或進行删除操作時,都需要用到主鍵列的值。其他字段建議隻選擇前端清單頁确實需要的,不需要的不要選,尤其是内容特别多的字段,不要在清單裡顯示,而是在單獨的詳情頁裡顯示,避免不必要的資料查詢和傳遞,減輕伺服器壓力。

在上面的字段清單中,字段名稱和字段備注這兩列是從資料庫查出來的,不允許修改,其他幾列可以修改和設定,具體含義如下:

  • 字段别名:為字段設定一個别名,替換字段原來的名稱,字段别名一般配合字段格式使用,用來進行統計和運算,得到的值已經不是原來字段名稱對應的字段值了,例如字段名稱本來是 id,現在要用該字段統計總數量,則可以将該字段的别名設定為 zsl ,然後将字段格式設定為:count(*) ,這樣該字段傳回給用戶端的就是通過count函數計算出來的總數量。
  • 字段格式:可以使用任意SQL運算符、函數、子查詢等重新建構目前字段的查詢表達式,例如上面的求總數,或者求最大值、最小值、多個字段拼接或計算,多表關聯子查詢等等。
  • 排序:設定目前字段是否作為排序條件,且是正序還是倒序排,對應SQL裡的order by文法。
  • 分組:設定是否使用目前字段進行分組,對應SQL裡的group by文法。

設定好要查詢的字段後,再點選該對話框頂部頁籤裡的 查詢參數 ,出現如下所示界面:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

可以在此快速設定與目前資料模型的某些字段有關的查詢表達式,先選中字段,然後選查詢條件,然後點添加按鈕。

查詢條件的可選值有:模糊查找、等于、大于、小于、大于或等于、小于或等于、不等于。

添加完查詢參數之後,可以在查詢表達式裡繼續修改,可以使用任意SQL運算符、函數或表達式,可以用 {req.請求參數名} 的形式插入請求參數的占位符,在實際執行該查詢時,該占位符會被替換為該請求參數實際的值。

如果設定了多個查詢參數,則這些參數之間是 與(and)的關系,即表示所有參數的查詢表達式都滿足的資料記錄才會被傳回。

如果沒有查詢參數,則不需要在此選項頁内做任何設定。

設定好要查詢參數後,再點選該對話框頂部頁籤裡的 查詢條件 ,出現如下所示界面:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

在該選項頁内,可以設定目前查詢操作的查詢條件,輕按兩下上部的系統變量、請求參數和字段清單裡的變量、參數或字段,可以将其插入到下面的where條件輸入框中,然後編寫具體的查詢條件,例如:要修改某條資料時,需要先将該資料查詢出來顯示到修改頁面,則可以使用該資料記錄的主鍵值(id)作為查詢條件與主鍵字段關聯查詢,如果是為清單頁查詢資料,則不需要關聯主鍵值查詢。

查詢參數 和 查詢條件 這兩項的功能其實是一樣的,都是為了設定目前查詢操作的查詢條件,隻是 查詢參數 可以根據字段快速建構查詢表達式,更便捷一些,如果在 查詢條件 裡設定,則需要手動輸入運算符和查詢參數值。

最後點選 确定 按鈕,即可完成該資料查詢操作的設定。

回到背景服務設計器後,在基本語句清單裡,先拖拽一個 變量指派 語句到資料查詢操作的上下兩個藍色矩形的中間,并進行以下設定:

  • 變量名稱:設定為 res.data,表示要給服務響應對象 res 設定一個名為 data 的參數;
  • 運算符:設定為 = ,表示要為上面的參數指派;
  • 變量值:設定為 data ,因為前面在設定資料查詢操作的基本資訊時,将查詢結果的變量名稱設定為了 data,這裡要與之對應。如果隻查詢單條記錄,例如為修改頁提供要修改的資料記錄的内容,則需要将此處的 data 改成 data[0] ,表示僅傳回查詢結果中的第一條記錄。

然後再拖拽一個 終止服務 元件放到 上面的 變量指派 語句下面,表示該服務已經沒有其他需要執行的業務邏輯了,需要在此結束服務,并将處理結果傳回給用戶端,最後的界面如下圖所示:

「幹貨」用TaskBuilder做一個資料增删改查(CRUD)服務

注意:所有背景服務必須在所有可能終止運作的地方放置一個 終止服務 語句,否則就可能會造成該服務一直運作,最後造成資料庫連接配接沒有正常關閉而導緻伺服器崩潰。

以上都設定好後,點選頂部工具欄裡的 儲存 按鈕,可以将以上設定的内容儲存到伺服器上。

然後就可以在前端頁面裡使用 背景服務元件(Service)連接配接該服務,并在綁定的元件中顯示出來。

也可以點選背景服務設計器頂部工具欄上的 測試 按鈕,在打開的 背景服務模拟測試工具 内,模拟前端頁面對該服務發起測試請求,并檢視響應結果,如果背景服務傳回錯誤資訊,則根據錯誤内容進行相應修改完善,直到運作成功為止。

繼續閱讀